home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 98 / Skunkware 98.iso / src / interp / perl5.005.tar.gz / perl5.005.tar / perl5.005 / vms / subconfigure.com < prev    next >
Text File  |  1998-07-20  |  65KB  |  2,464 lines

  1. $! SUBCONFIGURE.COM - build a config.sh for VMS Perl.
  2. $!
  3. $! Note for folks from other platforms changing things in here:
  4. $!   Fancy changes (based on compiler capabilities or VMS version or
  5. $!   whatever) are tricky, so go ahead and punt on those.
  6. $!
  7. $!   Simple changes, though (say, always setting something to 1, or undef,
  8. $!   or something like that) are straightforward. Adding a new item for the
  9. $!   ultimately created config.sh requires adding two lines to this file.
  10. $!
  11. $!   First, a line in the format:
  12. $!     $ perl_foo = "bar"
  13. $!   after the line tagged ##ADD NEW CONSTANTS HERE##. Replace foo with the
  14. $!   variable name as it appears in config.sh.
  15. $!
  16. $!   Second, add a line in the format:
  17. $!     $ WC "foo='" + perl_foo + "'"
  18. $!   after the line tagged ##WRITE NEW CONSTANTS HERE##. Careful of the
  19. $!   quoting, as it can be tricky. 
  20. $! 
  21. $! This .COM file expects to be called by configure.com, and thus expects
  22. $! a few symbols in the environment. Notably:
  23. $!
  24. $!  One of: Using_Dec_C, Using_Vax_C, Using_Gnu_C set to "YES"
  25. $!  Dec_C_Version set to the Dec C version (defaults to 0 if not specified)
  26. $!  Has_Socketshr set to "T" if using socketshr
  27. $!  Has_Dec_C_Sockets set to "T" if using Dec C sockets
  28. $!  Use_Threads set to "T" if they're using threads
  29. $!  C_Compiler_Invoke is the command needed to invoke the C compiler
  30. $!
  31. $! Set Dec_C_Version to something
  32. $ WRITE_RESULT := "WRITE SYS$OUTPUT ""%CONFIG-I-RESULT "" + "
  33. $ Dec_C_Version := "''Dec_C_Version'"
  34. $ Dec_C_Version = Dec_C_Version + 0
  35. $ Vms_Ver := "''f$extract(1,3, f$getsyi(""version""))'"
  36. $ perl_extensions := "''extensions'"
  37. $ if f$length(Mcc) .eq. 0 then Mcc := "cc"
  38. $ MCC = f$edit(mcc, "UPCASE")
  39. $ IF Mcc.eqs."CC
  40. $ THEN
  41. $   C_Compiler_Replace := "CC="
  42. $ ELSE
  43. $   C_Compiler_Replace := "CC=CC=''Mcc'"
  44. $ ENDIF
  45. $ if "''Using_Dec_C'" .eqs. "Yes"
  46. $ THEN
  47. $   Checkcc := "''Mcc'/prefix=all"
  48. $ ELSE
  49. $   Checkcc := "''Mcc'"
  50. $ ENDIF
  51. $ cc_flags = ""
  52. $! Some constant defaults.
  53. $
  54. $ hwname = f$getsyi("HW_NAME")
  55. $ myname = myhostname
  56. $ if "''myname'" .eqs. "" THEN myname = f$trnlnm("SYS$NODE")
  57. $!
  58. $! ##ADD NEW CONSTANTS HERE##
  59. $ perl_package="''package'"
  60. $ perl_baserev = "''baserev'"
  61. $ cc_defines=""
  62. $ perl_CONFIG="true"
  63. $ perl_i_netdb="undef"
  64. $ perl_d_gnulibc="undef"
  65. $ perl_cf_by="unknown"
  66. $ perl_ccdlflags=""
  67. $ perl_cccdlflags=""
  68. $ perl_mab=""
  69. $ perl_libpth="/sys$share /sys$library"
  70. $ perl_ld="Link"
  71. $ perl_lddlflags="/Share"
  72. $ perl_ranlib=""
  73. $ perl_ar=""
  74. $ perl_eunicefix=":"
  75. $ perl_hint="none"
  76. $ perl_i_arpainet="undef"
  77. $ perl_d_grpasswd="undef"
  78. $ perl_d_setgrent="undef"
  79. $ perl_d_getgrent="define"
  80. $ perl_d_endgrent="define"
  81. $ perl_d_pwpasswd="define"
  82. $ perl_d_setpwent="define"
  83. $ perl_d_getpwent="define"
  84. $ perl_d_endpwent="define"
  85. $ perl_ebcdic="undef"
  86. $ perl_hintfile=""
  87. $ perl_shrplib="define"
  88. $ perl_usemymalloc=mymalloc
  89. $ perl_usevfork="true"
  90. $ perl_useposix="false"
  91. $ perl_spitshell="write sys$output "
  92. $ perl_dlsrc="dl_vms.c"
  93. $ perl_man1ext="rno"
  94. $ perl_man3ext="rno"
  95. $ perl_prefix="perl_root"
  96. $ perl_binexp="''perl_prefix':[000000]"
  97. $ perl_builddir="''perl_prefix':[000000]"
  98. $ perl_installbin="''perl_prefix':[000000]"
  99. $ perl_installscript="''perl_prefix':[000000]"
  100. $ perl_installman1dir="''perl_prefix':[man.man1]"
  101. $ perl_installman3dir="''perl_prefix':[man.man3]"
  102. $ perl_installprivlib="''perl_prefix':[lib]"
  103. $ perl_installsitelib="''perl_prefix':[lib.site_perl]"
  104. $ perl_path_sep="|"
  105. $ perl_cc=Mcc
  106. $ perl_d_sockpair="undef"
  107. $ perl_i_neterrno="define"
  108. $ perl_ldflags="/NoTrace/NoMap"
  109. $ perl_d_lchown="undef"
  110. $ perl_d_mknod="undef"
  111. $ perl_d_union_semun="undef"
  112. $ perl_d_semctl_semun="undef"
  113. $ perl_d_semctl_semid_ds="undef"
  114. $ IF (sharedperl.EQS."Y")
  115. $ THEN
  116. $ perl_obj_ext=".abj"
  117. $ perl_so="axe"
  118. $ perl_dlext="axe"
  119. $ perl_exe_ext=".axe"
  120. $ perl_lib_ext=".alb"
  121. $ ELSE
  122. $ perl_obj_ext=".obj"
  123. $ perl_so="exe"
  124. $ perl_dlext="exe"
  125. $ perl_exe_ext=".exe"
  126. $ perl_lib_ext=".olb"
  127. $ENDIF
  128. $ perl_dlobj="dl_vms''perl_obj_ext'"
  129. $ perl_osname="VMS"
  130. $ perl_d_archlib="define"
  131. $ perl_d_bincompat3="undef"
  132. $ perl_cppstdin="''Perl_CC'/noobj/preprocess=sys$output sys$input"
  133. $ perl_cppminus=""
  134. $ perl_d_castneg="define"
  135. $ perl_castflags="0"
  136. $ perl_d_chsize="undef"
  137. $ perl_d_const="define"
  138. $ perl_d_crypt="define"
  139. $ perl_byteorder="1234"
  140. $ perl_full_csh=""
  141. $ perl_d_csh="undef"
  142. $ perl_d_dup2="define"
  143. $ perl_d_fchmod="undef"
  144. $ perl_d_fchown="undef"
  145. $ perl_d_fcntl="undef"
  146. $ perl_d_fgetpos="define"
  147. $ perl_d_flexfnam="define"
  148. $ perl_d_flock="undef"
  149. $ perl_d_fsetpos="define"
  150. $ perl_d_getgrps="undef"
  151. $ perl_d_setgrps="undef"
  152. $ perl_d_getprior="undef"
  153. $ perl_d_killpg="undef"
  154. $ perl_d_link="undef"
  155. $ perl_d_lstat="undef"
  156. $ perl_d_lockf="undef"
  157. $ perl_d_memcmp="define"
  158. $ perl_d_memcpy="define"
  159. $ perl_d_memmove="define"
  160. $ perl_d_memset="define"
  161. $ perl_d_mkdir="define"
  162. $ perl_d_msg="undef"
  163. $ perl_d_open3="define"
  164. $ perl_d_poll="undef"
  165. $ perl_d_readdir="define"
  166. $ perl_d_seekdir="define"
  167. $ perl_d_telldir="define"
  168. $ perl_d_rewinddir="define"
  169. $ perl_d_rename="define"
  170. $ perl_d_rmdir="define"
  171. $ perl_d_sem="undef"
  172. $ perl_d_setegid="undef"
  173. $ perl_d_seteuid="undef"
  174. $ perl_d_setprior="undef"
  175. $ perl_d_setregid="undef"
  176. $ perl_d_setresgid="undef"
  177. $ perl_d_setreuid="undef"
  178. $ perl_d_setresuid="undef"
  179. $ perl_d_setrgid="undef"
  180. $ perl_d_setruid="undef"
  181. $ perl_d_setsid="undef"
  182. $ perl_d_shm="undef"
  183. $ perl_d_shmatprototype="undef"
  184. $ perl_d_statblks="undef"
  185. $ perl_stdio_ptr="((*fp)->_ptr)"
  186. $ perl_stdio_cnt="((*fp)->_cnt)"
  187. $ perl_stdio_base="((*fp)->_base)"
  188. $ perl_stdio_bufsiz="((*fp)->_cnt + (*fp)->_ptr - (*fp)->_base)"
  189. $ perl_d_strctcpy="define"
  190. $ perl_d_strerror="define"
  191. $ perl_d_syserrlst="undef"
  192. $ perl_d_strerrm="strerror((e),vaxc$errno)"
  193. $ perl_d_symlink="undef"
  194. $ perl_d_syscall="undef"
  195. $ perl_d_system="define"
  196. $ perl_timetype="time_t"
  197. $ perl_d_vfork="define"
  198. $ perl_signal_t="void"
  199. $ perl_d_volatile="define"
  200. $ perl_d_vprintf="define"
  201. $ perl_d_charvspr="undef"
  202. $ perl_d_waitpid="define"
  203. $ perl_i_dirent="undef"
  204. $ perl_d_dirnamlen="define"
  205. $ perl_direntrytype="struct dirent"
  206. $ perl_i_fcntl="undef"
  207. $ perl_i_grp="undef"
  208. $ perl_i_limits="define"
  209. $ perl_i_memory="undef"
  210. $ perl_i_ndbm="undef"
  211. $ perl_i_stdarg="define"
  212. $ perl_i_pwd="undef"
  213. $ perl_d_pwquota="undef"
  214. $ perl_d_pwage="undef"
  215. $ perl_d_pwchange="undef"
  216. $ perl_d_pwclass="undef"
  217. $ perl_d_pwexpire="undef"
  218. $ perl_d_pwcomment="define"
  219. $ perl_i_stddef="define"
  220. $ perl_i_stdlib="define"
  221. $ perl_i_string="define"
  222. $ perl_i_sysdir="undef"
  223. $ perl_i_sysfile="undef"
  224. $ perl_i_sysioctl="undef"
  225. $ perl_i_sysndir="undef"
  226. $ perl_i_sysresrc="undef"
  227. $ perl_i_sysselct="undef"
  228. $ perl_i_dbm="undef"
  229. $ perl_i_rpcsvcdbm="undef"
  230. $ perl_i_sfio="undef"
  231. $ perl_i_sysstat="define"
  232. $ perl_i_systimes="undef"
  233. $ perl_i_systypes="define"
  234. $ perl_i_sysun="undef"
  235. $ perl_i_syswait="undef"
  236. $ perl_i_termio="undef"
  237. $ perl_i_sgtty="undef"
  238. $ perl_i_termios="undef"
  239. $ perl_i_time="define"
  240. $ perl_i_systime="undef"
  241. $ perl_i_systimek="undef"
  242. $! perl_i_unistd="undef"
  243. $ perl_i_utime="undef"
  244. $ perl_i_varargs="undef"
  245. $ perl_i_vfork="undef"
  246. $ perl_prototype="define"
  247. $ perl_randbits="31"
  248. $ perl_stdchar="char"
  249. $ perl_d_unlink_all_versions="undef"
  250. $ perl_full_sed="_NLA0:"
  251. $ perl_bin="/''perl_prefix'/000000"
  252. $ perl_binexp="''perl_prefix':[000000]"
  253. $ perl_d_alarm="define"
  254. $ perl_d_casti32="define"
  255. $ perl_d_chown="define"
  256. $ perl_d_chroot="undef"
  257. $ perl_d_cuserid="define"
  258. $ perl_d_dbl_dig="define"
  259. $ perl_d_difftime="define"
  260. $ perl_d_fork="undef"
  261. $ perl_d_getlogin="define"
  262. $ perl_d_getppid="undef"
  263. $ perl_d_nice="define"
  264. $ perl_d_pause="define"
  265. $ perl_d_pipe="define"
  266. $ perl_d_readlink="undef"
  267. $ perl_d_setlinebuf="undef"
  268. $ perl_d_strchr="define"
  269. $ perl_d_strtod="define"
  270. $ perl_d_strtol="define"
  271. $ perl_d_strtoul="define"
  272. $ perl_d_tcgetpgrp="undef"
  273. $ perl_d_tcsetpgrp="undef"
  274. $ perl_d_times="define"
  275. $ perl_d_tzname="undef"
  276. $ perl_d_umask="define"
  277. $ perl_fpostype="fpos_t"
  278. $ perl_i_dlfcn="undef"
  279. $ perl_i_float="define"
  280. $ perl_i_math="define"
  281. $ perl_lseektype="int"
  282. $ perl_i_values="undef"
  283. $ perl_malloctype="void *"
  284. $ perl_freetype="void"
  285. $ if "''mymalloc'".eqs."Y"
  286. $ THEN
  287. $ perl_d_mymalloc="define"
  288. $ ELSE
  289. $ perl_d_mymalloc="undef"
  290. $ENDIF
  291. $ perl_sh="MCR"
  292. $ perl_modetype="unsigned int"
  293. $ perl_ssizetype="int"
  294. $ perl_o_nonblock=""
  295. $ perl_eagain=""
  296. $ perl_rd_nodata=""
  297. $ perl_d_eofnblk="undef"
  298. $ perl_d_oldarchlib="define"
  299. $ perl_privlibexp="''perl_prefix':[lib]"
  300. $ perl_privlib="''perl_prefix':[lib]"
  301. $ perl_sitelibexp="''perl_prefix':[lib.site_perl]"
  302. $ perl_sitelib="''perl_prefix':[lib.site_perl]"
  303. $ perl_sizetype="size_t"
  304. $ perl_i_sysparam="undef"
  305. $ perl_d_void_closedir="define"
  306. $ perl_d_dlerror="undef"
  307. $ perl_d_dlsymun="undef"
  308. $ perl_d_suidsafe="undef"
  309. $ perl_d_dosuid="undef"
  310. $ perl_d_inetaton="undef"
  311. $ perl_d_isascii="define"
  312. $ perl_d_mkfifo="undef"
  313. $ perl_d_safebcpy="undef"
  314. $ perl_d_safemcpy="define"
  315. $ perl_d_sanemcmp="define"
  316. $ perl_d_setpgrp="undef"
  317. $ perl_d_bsdsetpgrp="undef"
  318. $ perl_d_bsdpgrp="undef"
  319. $ perl_d_setpgid="undef"
  320. $ perl_d_setpgrp2="undef"
  321. $ perl_d_Gconvert="my_gconvert(x,n,t,b)"
  322. $ perl_d_getpgid="undef"
  323. $ perl_d_getpgrp="undef"
  324. $ perl_d_bsdgetpgrp="undef"
  325. $ perl_d_getpgrp2="undef"
  326. $ perl_d_sfio="undef"
  327. $ perl_usedl="define"
  328. $ perl_startperl="""$ perl 'f$env(\""procedure\"")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8'  !\n$ exit++ + ++$status != 0 and $exit = $status = undef;"""
  329. $ perl_db_hashtype=""
  330. $ perl_db_prefixtype=""
  331. $ perl_useperlio="undef"
  332. $ perl_defvoidused="15"
  333. $ perl_voidflags="15"
  334. $ perl_d_eunice="undef"
  335. $ perl_d_pwgecos="define"
  336. $ IF ("''Use_Threads'".eqs."T").and.("''VMS_VER'".LES."6.2")
  337. $ THEN
  338. $ perl_libs="SYS$SHARE:CMA$LIB_SHR.EXE/SHARE SYS$SHARE:CMA$RTL.EXE/SHARE SYS$SHARE:CMA$OPEN_LIB_SHR.exe/SHARE SYS$SHARE:CMA$OPEN_RTL.exe/SHARE"
  339. $ ELSE
  340. $ perl_libs=""
  341. $ ENDIF
  342. $ IF ("''Using_Dec_C'".eqs."Yes")
  343. $ THEN
  344. $ perl_libc="(DECCRTL)"
  345. $ ELSE
  346. $ perl_libc=""
  347. $ ENDIF
  348. $ perl_PATCHLEVEL="''patchlevel'"
  349. $ perl_SUBVERSION="''subversion'"
  350. $ perl_pager="most"
  351. $!
  352. $!
  353. $! Now some that we build up
  354. $!
  355. $ LocalTime = f$time()
  356. $ perl_cf_time= f$extract(0, 3, f$cvtime(LocalTime,, "WEEKDAY")) + " " + - 
  357.                 f$edit(f$cvtime(LocalTime, "ABSOLUTE", "MONTH"), "LOWERCASE") + -
  358.                 " " + f$cvtime(LocalTime,, "DAY") + " " + f$cvtime(LocalTime,, "TIME") + -
  359.                 " " + f$cvtime(LocalTime,, "YEAR")
  360. $ if f$getsyi("HW_MODEL").ge.1024
  361. $ THEN
  362. $ perl_arch="VMS_AXP"
  363. $ perl_archname="VMS_AXP"
  364. $ perl_alignbytes="8"
  365. $ ELSE
  366. $ perl_arch="VMS_VAX"
  367. $ perl_archname="VMS_VAX"
  368. $ perl_alignbytes="8"
  369. $ ENDIF
  370. $ if ("''Use_Threads'".eqs."T")
  371. $ THEN
  372. $ perl_arch = "''perl_arch'-thread"
  373. $ perl_archname = "''perl_archname'-thread"
  374. $ ENDIF
  375. $ perl_osvers=f$edit(osvers, "TRIM")
  376. $ LocalPerlVer = "5_" + Perl_PATCHLEVEL + perl_subversion
  377. $!
  378. $! Some that we need to invoke the compiler for
  379. $ OS := "open/write SOURCECHAN []temp.c"
  380. $ WS := "write SOURCECHAN"
  381. $ CS := "close SOURCECHAN"
  382. $ DS := "delete/nolog []temp.*;*"
  383. $ Needs_Opt := "No"
  384. $ if ("''using_vax_c'".eqs."Yes").or.("''using_gnu_c'".eqs."Yes")
  385. $ THEN
  386. $   open/write OPTCHAN []temp.opt
  387. $   IF ("''using_gnu_c'".eqs."Yes")
  388. $   THEN
  389. $     write OPTCHAN "Gnu_CC:[000000]gcclib.olb/library"
  390. $   endif
  391. $   write OPTCHAN "Sys$Share:VAXCRTL/Share"
  392. $   Close OPTCHAN
  393. $   Needs_Opt := "Yes"
  394. $ ENDIF
  395. $!
  396. $! Check for __STDC__
  397. $!
  398. $ OS
  399. $ WS "#ifdef __DECC
  400. $ WS "#include <stdlib.h>
  401. $ WS "#endif
  402. $ WS "#include <stdio.h>
  403. $ WS "int main()
  404. $ WS "{"
  405. $ WS "#ifdef __STDC__
  406. $ WS "printf(""42\n"");
  407. $ WS "#else
  408. $ WS "printf(""1\n"");
  409. $ WS "#endif
  410. $ WS "exit(0);
  411. $ WS "}"
  412. $ CS
  413. $   DEFINE SYS$ERROR _NLA0:
  414. $   DEFINE SYS$OUTPUT _NLA0:
  415. $   ON ERROR THEN CONTINUE
  416. $   ON WARNING THEN CONTINUE
  417. $   'Checkcc' temp.c
  418. $   If (Needs_Opt.eqs."Yes")
  419. $   THEN
  420. $     link temp.obj,temp.opt/opt
  421. $   else
  422. $     link temp.obj
  423. $   endif
  424. $   DEASSIGN SYS$OUTPUT
  425. $   DEASSIGN SYS$ERROR
  426. $   OPEN/WRITE TEMPOUT [-.uu]tempout.lis
  427. $   DEFINE SYS$ERROR TEMPOUT
  428. $   DEFINE SYS$OUTPUT TEMPOUT
  429. $   mcr []temp
  430. $   CLOSE TEMPOUT
  431. $   DEASSIGN SYS$OUTPUT
  432. $   DEASSIGN SYS$ERROR
  433. $   OPEN/READ TEMPOUT [-.uu]tempout.lis
  434. $   READ TEMPOUT line
  435. $   CLOSE TEMPOUT
  436. $ perl_cpp_stuff=line
  437. $ WRITE_RESULT "cpp_stuff is ''perl_cpp_stuff'"
  438. $!
  439. $! Check for double size
  440. $!
  441. $ OS
  442. $ WS "#ifdef __DECC
  443. $ WS "#include <stdlib.h>
  444. $ WS "#endif
  445. $ WS "#include <stdio.h>
  446. $ WS "int main()
  447. $ WS "{"
  448. $ WS "int foo;
  449. $ WS "foo = sizeof(double);
  450. $ WS "printf(""%d\n"", foo);
  451. $ WS "exit(0);
  452. $ WS "}"
  453. $ CS
  454. $   DEFINE SYS$ERROR _NLA0:
  455. $   DEFINE SYS$OUTPUT _NLA0:
  456. $   ON ERROR THEN CONTINUE
  457. $   ON WARNING THEN CONTINUE
  458. $   'Checkcc' temp.c
  459. $   If (Needs_Opt.eqs."Yes")
  460. $   THEN
  461. $     link temp.obj,temp.opt/opt
  462. $   else
  463. $     link temp.obj
  464. $   endif
  465. $!   link temp.obj
  466. $   OPEN/WRITE TEMPOUT [-.uu]tempout.lis
  467. $   DEASSIGN SYS$OUTPUT
  468. $   DEASSIGN SYS$ERROR
  469. $   DEFINE SYS$ERROR TEMPOUT
  470. $   DEFINE SYS$OUTPUT TEMPOUT
  471. $   mcr []temp
  472. $   CLOSE TEMPOUT
  473. $   DEASSIGN SYS$OUTPUT
  474. $   DEASSIGN SYS$ERROR
  475. $   OPEN/READ TEMPOUT [-.uu]tempout.lis
  476. $   READ TEMPOUT line
  477. $   CLOSE TEMPOUT
  478. $ perl_doublesize=line
  479. $ WRITE_RESULT "doublesize is ''perl_doublesize'"
  480. $!
  481. $! Check for long double size
  482. $!
  483. $ OS
  484. $ WS "#ifdef __DECC
  485. $ WS "#include <stdlib.h>
  486. $ WS "#endif
  487. $ WS "#include <stdio.h>
  488. $ WS "int main()
  489. $ WS "{"
  490. $ WS "printf(""%d\n"", sizeof(long double));
  491. $ WS "exit(0);
  492. $ WS "}"
  493. $ CS
  494. $   DEFINE SYS$ERROR _NLA0:
  495. $   DEFINE SYS$OUTPUT _NLA0:
  496. $   ON ERROR THEN CONTINUE
  497. $   ON WARNING THEN CONTINUE
  498. $   'Checkcc' temp.c
  499. $   teststatus = f$extract(9,1,$status)
  500. $   if (teststatus.nes."1")
  501. $   THEN
  502. $     perl_longdblsize="0"
  503. $     perl_d_longdbl="undef"
  504. $   ELSE
  505. $     ON ERROR THEN CONTINUE
  506. $     ON WARNING THEN CONTINUE
  507. $     If (Needs_Opt.eqs."Yes")
  508. $     THEN
  509. $     link temp.obj,temp.opt/opt
  510. $     else
  511. $       link temp.obj
  512. $     endif
  513. $     teststatus = f$extract(9,1,$status)
  514. $     DEASSIGN SYS$OUTPUT
  515. $     DEASSIGN SYS$ERROR
  516. $     if (teststatus.nes."1")
  517. $     THEN
  518. $       perl_longdblsize="0"
  519. $       perl_d_longdbl="undef"
  520. $     ELSE
  521. $       OPEN/WRITE TEMPOUT [-.uu]tempout.lis
  522. $       DEFINE SYS$ERROR TEMPOUT
  523. $       DEFINE SYS$OUTPUT TEMPOUT
  524. $       mcr []temp
  525. $       CLOSE TEMPOUT
  526. $       DEASSIGN SYS$OUTPUT
  527. $       DEASSIGN SYS$ERROR
  528. $       OPEN/READ TEMPOUT [-.uu]tempout.lis
  529. $       READ TEMPOUT line
  530. $       CLOSE TEMPOUT
  531. $       perl_longdblsize=line
  532. $       perl_d_longdbl="define"
  533. $     ENDIF
  534. $   ENDIF
  535. $ WRITE_RESULT "longdblsize is ''perl_longdblsize'"
  536. $ WRITE_RESULT "d_longdbl is ''perl_d_longdbl'"
  537. $!
  538. $! Check for long long existance and size
  539. $!
  540. $ OS
  541. $ WS "#ifdef __DECC
  542. $ WS "#include <stdlib.h>
  543. $ WS "#endif
  544. $ WS "#include <stdio.h>
  545. $ WS "int main()
  546. $ WS "{"
  547. $ WS "printf(""%d\n"", sizeof(long long));
  548. $ WS "exit(0);
  549. $ WS "}"
  550. $ CS
  551. $   DEFINE SYS$ERROR _NLA0:
  552. $   DEFINE SYS$OUTPUT _NLA0:
  553. $   on error then continue
  554. $   on warning then continue
  555. $   'Checkcc' temp.c
  556. $   If (Needs_Opt.eqs."Yes")
  557. $   THEN
  558. $     link temp.obj,temp.opt/opt
  559. $   else
  560. $     link temp.obj
  561. $   endif
  562. $   teststatus = f$extract(9,1,$status)
  563. $   DEASSIGN SYS$OUTPUT
  564. $   DEASSIGN SYS$ERROR
  565. $   if (teststatus.nes."1")
  566. $   THEN
  567. $     perl_longlongsize="0"
  568. $     perl_d_longlong="undef"
  569. $   ELSE
  570. $     OPEN/WRITE TEMPOUT [-.uu]tempout.lis
  571. $     DEFINE SYS$ERROR TEMPOUT
  572. $     DEFINE SYS$OUTPUT TEMPOUT
  573. $     mcr []temp
  574. $     CLOSE TEMPOUT
  575. $     DEASSIGN SYS$OUTPUT
  576. $     DEASSIGN SYS$ERROR
  577. $     OPEN/READ TEMPOUT [-.uu]tempout.lis
  578. $     READ TEMPOUT line
  579. $     CLOSE TEMPOUT
  580. $     perl_longlongsize=line
  581. $     perl_d_longlong="define"
  582. $   ENDIF
  583. $ WRITE_RESULT "longlongsize is ''perl_longlongsize'"
  584. $ WRITE_RESULT "d_longlong is ''perl_d_longlong'"
  585. $!
  586. $! Check for int size
  587. $!
  588. $ OS
  589. $ WS "#ifdef __DECC
  590. $ WS "#include <stdlib.h>
  591. $ WS "#endif
  592. $ WS "#include <stdio.h>
  593. $ WS "int main()
  594. $ WS "{"
  595. $ WS "printf(""%d\n"", sizeof(int));
  596. $ WS "exit(0);
  597. $ WS "}"
  598. $ CS
  599. $   DEFINE SYS$ERROR _NLA0:
  600. $   DEFINE SYS$OUTPUT _NLA0:
  601. $   on error then continue
  602. $   on warning then continue
  603. $   'Checkcc' temp.c
  604. $   If (Needs_Opt.eqs."Yes")
  605. $   THEN
  606. $     link temp.obj,temp.opt/opt
  607. $   else
  608. $     link temp.obj
  609. $   endif
  610. $   If (Needs_Opt.eqs."Yes")
  611. $   THEN
  612. $     link temp.obj,temp.opt/opt
  613. $   else
  614. $     link temp.obj
  615. $   endif
  616. $   OPEN/WRITE TEMPOUT [-.uu]tempout.lis
  617. $   DEASSIGN SYS$OUTPUT
  618. $   DEASSIGN SYS$ERROR
  619. $   DEFINE SYS$ERROR TEMPOUT
  620. $   DEFINE SYS$OUTPUT TEMPOUT
  621. $   mcr []temp
  622. $   CLOSE TEMPOUT
  623. $   DEASSIGN SYS$OUTPUT
  624. $   DEASSIGN SYS$ERROR
  625. $   OPEN/READ TEMPOUT [-.uu]tempout.lis
  626. $   READ TEMPOUT line
  627. $   CLOSE TEMPOUT
  628. $   perl_intsize=line
  629. $ WRITE_RESULT "intsize is ''perl_intsize'"
  630. $!
  631. $! Check for short size
  632. $!
  633. $ OS
  634. $ WS "#ifdef __DECC
  635. $ WS "#include <stdlib.h>
  636. $ WS "#endif
  637. $ WS "#include <stdio.h>
  638. $ WS "int main()
  639. $ WS "{"
  640. $ WS "printf(""%d\n"", sizeof(short));
  641. $ WS "exit(0);
  642. $ WS "}"
  643. $ CS
  644. $   DEFINE SYS$ERROR _NLA0:
  645. $   DEFINE SYS$OUTPUT _NLA0:
  646. $   on error then continue
  647. $   on warning then continue
  648. $   'Checkcc' temp.c
  649. $   If (Needs_Opt.eqs."Yes")
  650. $   THEN
  651. $     link temp.obj,temp.opt/opt
  652. $   else
  653. $     link temp.obj
  654. $   endif
  655. $   OPEN/WRITE TEMPOUT [-.uu]tempout.lis
  656. $   DEASSIGN SYS$OUTPUT
  657. $   DEASSIGN SYS$ERROR
  658. $   DEFINE SYS$ERROR TEMPOUT
  659. $   DEFINE SYS$OUTPUT TEMPOUT
  660. $   mcr []temp
  661. $   CLOSE TEMPOUT
  662. $   DEASSIGN SYS$OUTPUT
  663. $   DEASSIGN SYS$ERROR
  664. $   OPEN/READ TEMPOUT [-.uu]tempout.lis
  665. $   READ TEMPOUT line
  666. $   CLOSE TEMPOUT
  667. $   perl_shortsize=line
  668. $ WRITE_RESULT "shortsize is ''perl_shortsize'"
  669. $!
  670. $! Check for long size
  671. $!
  672. $ OS
  673. $ WS "#ifdef __DECC
  674. $ WS "#include <stdlib.h>
  675. $ WS "#endif
  676. $ WS "#include <stdio.h>
  677. $ WS "int main()
  678. $ WS "{"
  679. $ WS "int foo;
  680. $ WS "foo = sizeof(long);
  681. $ WS "printf(""%d\n"", foo);
  682. $ WS "exit(0);
  683. $ WS "}"
  684. $ CS
  685. $   DEFINE SYS$ERROR _NLA0:
  686. $   DEFINE SYS$OUTPUT _NLA0:
  687. $   on error then continue
  688. $   on warning then continue
  689. $   'Checkcc' temp.c
  690. $   If (Needs_Opt.eqs."Yes")
  691. $   THEN
  692. $     link temp.obj,temp.opt/opt
  693. $   else
  694. $     link temp.obj
  695. $   endif
  696. $   OPEN/WRITE TEMPOUT [-.uu]tempout.lis
  697. $   DEASSIGN SYS$OUTPUT
  698. $   DEASSIGN SYS$ERROR
  699. $   DEFINE SYS$ERROR TEMPOUT
  700. $   DEFINE SYS$OUTPUT TEMPOUT
  701. $   mcr []temp
  702. $   CLOSE TEMPOUT
  703. $   DEASSIGN SYS$OUTPUT
  704. $   DEASSIGN SYS$ERROR
  705. $   OPEN/READ TEMPOUT [-.uu]tempout.lis
  706. $   READ TEMPOUT line
  707. $   CLOSE TEMPOUT
  708. $   perl_longsize=line
  709. $ WRITE_RESULT "longsize is ''perl_longsize'"
  710. $!
  711. $! Check the prototype for getgid
  712. $!
  713. $ OS
  714. $ WS "#ifdef __DECC
  715. $ WS "#include <stdlib.h>
  716. $ WS "#endif
  717. $ WS "#include <stdio.h>
  718. $ WS "#include <types.h>
  719. $ WS "#include <unistd.h>
  720. $ WS "int main()
  721. $ WS "{"
  722. $ WS "gid_t foo;
  723. $ WS "exit(0);
  724. $ WS "}"
  725. $ CS
  726. $   DEFINE SYS$ERROR _NLA0:
  727. $   DEFINE SYS$OUTPUT _NLA0:
  728. $   on error then continue
  729. $   on warning then continue
  730. $   'Checkcc' temp.c
  731. $   teststatus = f$extract(9,1,$status)
  732. $   DEASSIGN SYS$OUTPUT
  733. $   DEASSIGN SYS$ERROR
  734. $   if (teststatus.nes."1")
  735. $   THEN
  736. $!   Okay, gid_t failed. Must be unsigned int
  737. $     perl_gidtype = "unsigned int"
  738. $   ELSE
  739. $     perl_gidtype = "gid_t"
  740. $   ENDIF
  741. $ WRITE_RESULT "Gid_t is ''perl_gidtype'"
  742. $!
  743. $! Check to see if we've got dev_t
  744. $!
  745. $ OS
  746. $ WS "#ifdef __DECC
  747. $ WS "#include <stdlib.h>
  748. $ WS "#endif
  749. $ WS "#include <stdio.h>
  750. $ WS "#include <types.h>
  751. $ WS "#include <unistd.h>
  752. $ WS "int main()
  753. $ WS "{"
  754. $ WS "dev_t foo;
  755. $ WS "exit(0);
  756. $ WS "}"
  757. $ CS
  758. $   DEFINE SYS$ERROR _NLA0:
  759. $   DEFINE SYS$OUTPUT _NLA0:
  760. $   on error then continue
  761. $   on warning then continue
  762. $   'Checkcc' temp.c
  763. $   teststatus = f$extract(9,1,$status)
  764. $   DEASSIGN SYS$OUTPUT
  765. $   DEASSIGN SYS$ERROR
  766. $   if (teststatus.nes."1")
  767. $   THEN
  768. $!   Okay, dev_t failed. Must be unsigned int
  769. $     perl_devtype = "unsigned int"
  770. $   ELSE
  771. $     perl_devtype = "dev_t"
  772. $   ENDIF
  773. $ WRITE_RESULT "Dev_t is ''perl_devtype'"
  774. $!
  775. $! Check to see if we've got unistd.h (which we ought to, but you never know)
  776. $!
  777. $ OS
  778. $ WS "#ifdef __DECC
  779. $ WS "#include <stdlib.h>
  780. $ WS "#endif
  781. $ WS "#include <unistd.h>
  782. $ WS "int main()
  783. $ WS "{"
  784. $ WS "exit(0);
  785. $ WS "}"
  786. $ CS
  787. $   DEFINE SYS$ERROR _NLA0:
  788. $   DEFINE SYS$OUTPUT _NLA0:
  789. $   on error then continue
  790. $   on warning then continue
  791. $   'Checkcc' temp.c
  792. $   teststatus = f$extract(9,1,$status)
  793. $   DEASSIGN SYS$OUTPUT
  794. $   DEASSIGN SYS$ERROR
  795. $   if (teststatus.nes."1")
  796. $   THEN
  797. $!   Okay, failed. Must not have it
  798. $     perl_i_unistd = "undef"
  799. $   ELSE
  800. $     perl_i_unistd = "define"
  801.  
  802. $   ENDIF
  803. $ WRITE_RESULT "i_unistd is ''perl_i_unistd'"
  804. $!
  805. $! Check the prototype for select
  806. $!
  807. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  808. $ THEN
  809. $ OS
  810. $ WS "#ifdef __DECC
  811. $ WS "#include <stdlib.h>
  812. $ WS "#endif
  813. $ WS "#include <stdio.h>
  814. $ WS "#include <types.h>
  815. $ WS "#include <unistd.h>
  816. $ if ("''Has_Socketshr'".eqs."T")
  817. $ THEN
  818. $  WS "#include <socketshr.h>"
  819. $ else
  820. $  WS "#include <time.h>
  821. $  WS "#include <socket.h>
  822. $ endif
  823. $ WS "int main()
  824. $ WS "{"
  825. $ WS "fd_set *foo;
  826. $ WS "int bar;
  827. $ WS "foo = NULL;
  828. $ WS "bar = select(2, foo, foo, foo, NULL);
  829. $ WS "exit(0);
  830. $ WS "}"
  831. $ CS
  832. $   DEFINE SYS$ERROR _NLA0:
  833. $   DEFINE SYS$OUTPUT _NLA0:
  834. $   on error then continue
  835. $   on warning then continue
  836. $   'Checkcc' temp.c
  837. $   teststatus = f$extract(9,1,$status)
  838. $   DEASSIGN SYS$OUTPUT
  839. $   DEASSIGN SYS$ERROR
  840. $   if (teststatus.nes."1")
  841. $   THEN
  842. $!   Okay, fd_set failed. Must be an int
  843. $     perl_selecttype = "int *"
  844. $   ELSE
  845. $     perl_selecttype="fd_set *"
  846. $   ENDIF
  847. $ ELSE
  848. $   ! No sockets, so stick in an int *
  849. $   perl_selecttype = "int *"
  850. $ ENDIF
  851. $ WRITE_RESULT "selectype is ''perl_selecttype'"
  852. $!
  853. $! Check for bzero
  854. $!
  855. $ OS
  856. $ WS "#ifdef __DECC
  857. $ WS "#include <stdlib.h>
  858. $ WS "#endif
  859. $ WS "#include <stdio.h>
  860. $ WS "#include <strings.h>
  861. $ WS "int main()
  862. $ WS "{"
  863. $ WS "char foo[10];
  864. $ WS "bzero(foo, 10);
  865. $ WS "exit(0);
  866. $ WS "}"
  867. $ CS
  868. $   DEFINE SYS$ERROR _NLA0:
  869. $   DEFINE SYS$OUTPUT _NLA0:
  870. $   on error then continue
  871. $   on warning then continue
  872. $   'Checkcc' temp.c
  873. $   savedstatus = $status
  874. $   teststatus = f$extract(9,1,savedstatus)
  875. $   if (teststatus.nes."1")
  876. $   THEN
  877. $     perl_d_bzero="undef"
  878. $     DEASSIGN SYS$OUTPUT
  879. $     DEASSIGN SYS$ERROR
  880. $   ELSE
  881. $     If (Needs_Opt.eqs."Yes")
  882. $     THEN
  883. $       link temp.obj,temp.opt/opt
  884. $     else
  885. $       link temp.obj
  886. $     endif
  887. $     savedstatus = $status
  888. $     teststatus = f$extract(9,1,savedstatus)
  889. $     DEASSIGN SYS$OUTPUT
  890. $     DEASSIGN SYS$ERROR
  891. $     if (teststatus.nes."1")
  892. $     THEN
  893. $       perl_d_bzero="undef"
  894. $     ELSE
  895. $       perl_d_bzero="define"
  896. $     ENDIF
  897. $   ENDIF
  898. $ WRITE_RESULT "d_bzero is ''perl_d_bzero'"
  899. $!
  900. $! Check for bcopy
  901. $!
  902. $ OS
  903. $ WS "#ifdef __DECC
  904. $ WS "#include <stdlib.h>
  905. $ WS "#endif
  906. $ WS "#include <stdio.h>
  907. $ WS "#include <strings.h>
  908. $ WS "int main()
  909. $ WS "{"
  910. $ WS "char foo[10], bar[10];
  911. $ WS "bcopy(""foo"", bar, 3);
  912. $ WS "exit(0);
  913. $ WS "}"
  914. $ CS
  915. $   DEFINE SYS$ERROR _NLA0:
  916. $   DEFINE SYS$OUTPUT _NLA0:
  917. $   on error then continue
  918. $   on warning then continue
  919. $   'Checkcc' temp.c
  920. $   savedstatus = $status
  921. $   teststatus = f$extract(9,1,savedstatus)
  922. $   if (teststatus.nes."1")
  923. $   THEN
  924. $     perl_d_bcopy="undef"
  925. $     DEASSIGN SYS$OUTPUT
  926. $     DEASSIGN SYS$ERROR
  927. $   ELSE
  928. $     If (Needs_Opt.eqs."Yes")
  929. $     THEN
  930. $       link temp.obj,temp.opt/opt
  931. $     else
  932. $       link temp.obj
  933. $     endif
  934. $     savedstatus = $status
  935. $     teststatus = f$extract(9,1,savedstatus)
  936. $     DEASSIGN SYS$OUTPUT
  937. $     DEASSIGN SYS$ERROR
  938. $     if (teststatus.nes."1")
  939. $     THEN
  940. $       perl_d_bcopy="undef"
  941. $     ELSE
  942. $       perl_d_bcopy="define"
  943. $     ENDIF
  944. $   ENDIF
  945. $ WRITE_RESULT "d_bcopy is ''perl_d_bcopy'"
  946. $!
  947. $! Check for mkstemp
  948. $!
  949. $ OS
  950. $ WS "#ifdef __DECC
  951. $ WS "#include <stdlib.h>
  952. $ WS "#endif
  953. $ WS "#include <stdio.h>
  954. $ WS "int main()
  955. $ WS "{"
  956. $ WS "mkstemp(""foo"");
  957. $ WS "exit(0);
  958. $ WS "}"
  959. $ CS
  960. $   DEFINE SYS$ERROR _NLA0:
  961. $   DEFINE SYS$OUTPUT _NLA0:
  962. $   on error then continue
  963. $   on warning then continue
  964. $   'Checkcc' temp.c
  965. $   If (Needs_Opt.eqs."Yes")
  966. $   THEN
  967. $     link temp.obj,temp.opt/opt
  968. $   else
  969. $     link temp.obj
  970. $   endif
  971. $   savedstatus = $status
  972. $   teststatus = f$extract(9,1,savedstatus)
  973. $   DEASSIGN SYS$OUTPUT
  974. $   DEASSIGN SYS$ERROR
  975. $   if (teststatus.nes."1")
  976. $   THEN
  977. $     perl_d_mkstemp="undef"
  978. $   ELSE
  979. $     perl_d_mkstemp="define"
  980. $   ENDIF
  981. $ WRITE_RESULT "d_mkstemp is ''perl_d_mkstemp'"
  982. $!
  983. $! Check for setvbuf
  984. $!
  985. $ OS
  986. $ WS "#ifdef __DECC
  987. $ WS "#include <stdlib.h>
  988. $ WS "#endif
  989. $ WS "#include <stdio.h>
  990. $ WS "int main()
  991. $ WS "{"
  992. $ WS "FILE *foo;
  993. $ WS "char Buffer[99];
  994. $ WS "foo = fopen(""foo"", ""r"");
  995. $ WS "setvbuf(foo, Buffer, 0, 0);
  996. $ WS "exit(0);
  997. $ WS "}"
  998. $ CS
  999. $   DEFINE SYS$ERROR _NLA0:
  1000. $   DEFINE SYS$OUTPUT _NLA0:
  1001. $   on error then continue
  1002. $   on warning then continue
  1003. $   'Checkcc' temp.c
  1004. $   If (Needs_Opt.eqs."Yes")
  1005. $   THEN
  1006. $     link temp.obj,temp.opt/opt
  1007. $   else
  1008. $     link temp.obj
  1009. $   endif
  1010. $   teststatus = f$extract(9,1,$status)
  1011. $   DEASSIGN SYS$OUTPUT
  1012. $   DEASSIGN SYS$ERROR
  1013. $   if (teststatus.nes."1")
  1014. $   THEN
  1015. $     perl_d_setvbuf="undef"
  1016. $   ELSE
  1017. $     perl_d_setvbuf="define"
  1018. $   ENDIF
  1019. $ WRITE_RESULT "d_setvbuf is ''perl_d_setvbuf'"
  1020. $!
  1021. $! Check for <netinet/in.h>
  1022. $!
  1023. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1024. $ THEN
  1025. $ OS
  1026. $ WS "#ifdef __DECC
  1027. $ WS "#include <stdlib.h>
  1028. $ WS "#endif
  1029. $ WS "#include <stdio.h>
  1030. $ if ("''Has_Socketshr'".eqs."T")
  1031. $ THEN
  1032. $  WS "#include <socketshr.h>"
  1033. $ else
  1034. $  WS "#include <netdb.h>
  1035. $ endif
  1036. $ WS "#include <netinet/in.h>"
  1037. $ WS "int main()
  1038. $ WS "{"
  1039. $ WS "exit(0);
  1040. $ WS "}"
  1041. $ CS
  1042. $   DEFINE SYS$ERROR _NLA0:
  1043. $   DEFINE SYS$OUTPUT _NLA0:
  1044. $   on error then continue
  1045. $   on warning then continue
  1046. $   'Checkcc' temp.c
  1047. $   If (Needs_Opt.eqs."Yes")
  1048. $   THEN
  1049. $     link temp.obj,temp.opt/opt
  1050. $   else
  1051. $     link temp.obj
  1052. $   endif
  1053. $   teststatus = f$extract(9,1,$status)
  1054. $   DEASSIGN SYS$OUTPUT
  1055. $   DEASSIGN SYS$ERROR
  1056. $   if (teststatus.nes."1")
  1057. $   THEN
  1058. $     perl_i_niin="undef"
  1059. $   ELSE
  1060. $     perl_i_niin="define"
  1061. $   ENDIF
  1062. $ ELSE
  1063. $   perl_i_niin="undef"
  1064. $ ENDIF
  1065. $ WRITE_RESULT "i_niin is ''perl_i_niin'"
  1066. $!
  1067. $! Check for endhostent
  1068. $!
  1069. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1070. $ THEN
  1071. $ OS
  1072. $ WS "#ifdef __DECC
  1073. $ WS "#include <stdlib.h>
  1074. $ WS "#endif
  1075. $ WS "#include <stdio.h>
  1076. $ if ("''Has_Socketshr'".eqs."T")
  1077. $ THEN
  1078. $  WS "#include <socketshr.h>"
  1079. $ else
  1080. $  WS "#include <netdb.h>
  1081. $ endif
  1082. $ WS "int main()
  1083. $ WS "{"
  1084. $ WS "endhostent();
  1085. $ WS "exit(0);
  1086.  
  1087. $ CS
  1088. $   DEFINE SYS$ERROR _NLA0:
  1089. $   DEFINE SYS$OUTPUT _NLA0:
  1090. $   on error then continue
  1091. $   on warning then continue
  1092. $   'Checkcc' temp.c
  1093. $   If (Needs_Opt.eqs."Yes")
  1094. $   THEN
  1095. $     link temp.obj,temp.opt/opt
  1096. $   else
  1097. $     link temp.obj
  1098. $   endif
  1099. $   teststatus = f$extract(9,1,$status)
  1100. $   DEASSIGN SYS$OUTPUT
  1101. $   DEASSIGN SYS$ERROR
  1102. $   if (teststatus.nes."1")
  1103. $   THEN
  1104. $     perl_d_endhent="undef"
  1105. $   ELSE
  1106. $     perl_d_endhent="define"
  1107. $   ENDIF
  1108. $ ELSE
  1109. $ perl_d_endhent="undef"
  1110. $ ENDIF
  1111. $ WRITE_RESULT "d_endhent is ''perl_d_endhent'"
  1112. $!
  1113. $! Check for endnetent
  1114. $!
  1115. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1116. $ THEN
  1117. $ OS
  1118. $ WS "#ifdef __DECC
  1119. $ WS "#include <stdlib.h>
  1120. $ WS "#endif
  1121. $ WS "#include <stdio.h>
  1122. $ if ("''Has_Socketshr'".eqs."T")
  1123. $ THEN
  1124. $  WS "#include <socketshr.h>"
  1125. $ else
  1126. $  WS "#include <netdb.h>
  1127. $ endif
  1128. $ WS "int main()
  1129. $ WS "{"
  1130. $ WS "endnetent();
  1131. $ WS "exit(0);
  1132. $ WS "}"
  1133. $ CS
  1134. $   DEFINE SYS$ERROR _NLA0:
  1135. $   DEFINE SYS$OUTPUT _NLA0:
  1136. $   on error then continue
  1137. $   on warning then continue
  1138. $   'Checkcc' temp.c
  1139. $   If (Needs_Opt.eqs."Yes")
  1140. $   THEN
  1141. $     link temp.obj,temp.opt/opt
  1142. $   else
  1143. $     link temp.obj
  1144. $   endif
  1145. $   teststatus = f$extract(9,1,$status)
  1146. $   DEASSIGN SYS$OUTPUT
  1147. $   DEASSIGN SYS$ERROR
  1148. $   if (teststatus.nes."1")
  1149. $   THEN
  1150. $     perl_d_endnent="undef"
  1151. $   ELSE
  1152. $     perl_d_endnent="define"
  1153. $   ENDIF
  1154. $ ELSE
  1155. $ perl_d_endnent="undef"
  1156. $ ENDIF
  1157. $ WRITE_RESULT "d_endnent is ''perl_d_endnent'"
  1158. $!
  1159. $! Check for endprotoent
  1160. $!
  1161. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1162. $ THEN
  1163. $ OS
  1164. $ WS "#ifdef __DECC
  1165. $ WS "#include <stdlib.h>
  1166. $ WS "#endif
  1167. $ WS "#include <stdio.h>
  1168. $ if ("''Has_Socketshr'".eqs."T")
  1169. $ THEN
  1170. $  WS "#include <socketshr.h>"
  1171. $ else
  1172. $  WS "#include <netdb.h>
  1173. $ endif
  1174. $ WS "int main()
  1175. $ WS "{"
  1176. $ WS "endprotoent();
  1177. $ WS "exit(0);
  1178. $ WS "}"
  1179. $ CS
  1180. $   DEFINE SYS$ERROR _NLA0:
  1181. $   DEFINE SYS$OUTPUT _NLA0:
  1182. $   on error then continue
  1183. $   on warning then continue
  1184. $   'Checkcc' temp.c
  1185. $   If (Needs_Opt.eqs."Yes")
  1186. $   THEN
  1187. $     link temp.obj,temp.opt/opt
  1188. $   else
  1189. $     link temp.obj
  1190. $   endif
  1191. $   teststatus = f$extract(9,1,$status)
  1192. $   DEASSIGN SYS$OUTPUT
  1193. $   DEASSIGN SYS$ERROR
  1194. $   if (teststatus.nes."1")
  1195. $   THEN
  1196. $     perl_d_endpent="undef"
  1197. $   ELSE
  1198. $     perl_d_endpent="define"
  1199. $   ENDIF
  1200. $ ELSE
  1201. $ perl_d_endpent="undef"
  1202. $ ENDIF
  1203. $ WRITE_RESULT "d_endpent is ''perl_d_endpent'"
  1204. $!
  1205. $! Check for endservent
  1206. $!
  1207. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1208. $ THEN
  1209. $ OS
  1210. $ WS "#ifdef __DECC
  1211. $ WS "#include <stdlib.h>
  1212. $ WS "#endif
  1213. $ WS "#include <stdio.h>
  1214. $ if ("''Has_Socketshr'".eqs."T")
  1215. $ THEN
  1216. $  WS "#include <socketshr.h>"
  1217. $ else
  1218. $  WS "#include <netdb.h>
  1219. $ endif
  1220. $ WS "int main()
  1221. $ WS "{"
  1222. $ WS "endservent();
  1223. $ WS "exit(0);
  1224. $ WS "}"
  1225. $ CS
  1226. $   DEFINE SYS$ERROR _NLA0:
  1227. $   DEFINE SYS$OUTPUT _NLA0:
  1228. $   on error then continue
  1229. $   on warning then continue
  1230. $   'Checkcc' temp.c
  1231. $   If (Needs_Opt.eqs."Yes")
  1232. $   THEN
  1233. $     link temp.obj,temp.opt/opt
  1234. $   else
  1235. $     link temp.obj
  1236. $   endif
  1237. $   teststatus = f$extract(9,1,$status)
  1238. $   DEASSIGN SYS$OUTPUT
  1239. $   DEASSIGN SYS$ERROR
  1240. $   if (teststatus.nes."1")
  1241. $   THEN
  1242. $     perl_d_endsent="undef"
  1243. $   ELSE
  1244. $     perl_d_endsent="define"
  1245. $   ENDIF
  1246. $ ELSE
  1247. $ perl_d_endsent="undef"
  1248. $ ENDIF
  1249. $ WRITE_RESULT "d_endsent is ''perl_d_endsent'"
  1250. $!
  1251. $! Check for sethostent
  1252. $!
  1253. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1254. $ THEN
  1255. $ OS
  1256. $ WS "#ifdef __DECC
  1257. $ WS "#include <stdlib.h>
  1258. $ WS "#endif
  1259. $ WS "#include <stdio.h>
  1260. $ if ("''Has_Socketshr'".eqs."T")
  1261. $ THEN
  1262. $  WS "#include <socketshr.h>"
  1263. $ else
  1264. $  WS "#include <netdb.h>
  1265. $ endif
  1266. $ WS "int main()
  1267. $ WS "{"
  1268. $ WS "sethostent(1);
  1269. $ WS "exit(0);
  1270. $ WS "}"
  1271. $ CS
  1272. $   DEFINE SYS$ERROR _NLA0:
  1273. $   DEFINE SYS$OUTPUT _NLA0:
  1274. $   on error then continue
  1275. $   on warning then continue
  1276. $   'Checkcc' temp.c
  1277. $   If (Needs_Opt.eqs."Yes")
  1278. $   THEN
  1279. $     link temp.obj,temp.opt/opt
  1280. $   else
  1281. $     link temp.obj
  1282. $   endif
  1283. $   teststatus = f$extract(9,1,$status)
  1284. $   DEASSIGN SYS$OUTPUT
  1285. $   DEASSIGN SYS$ERROR
  1286. $   if (teststatus.nes."1")
  1287. $   THEN
  1288. $     perl_d_sethent="undef"
  1289. $   ELSE
  1290. $     perl_d_sethent="define"
  1291. $   ENDIF
  1292. $ ELSE
  1293. $ perl_d_sethent="undef"
  1294. $ ENDIF
  1295. $ WRITE_RESULT "d_sethent is ''perl_d_sethent'"
  1296. $!
  1297. $! Check for setnetent
  1298. $!
  1299. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1300. $ THEN
  1301. $ OS
  1302. $ WS "#ifdef __DECC
  1303. $ WS "#include <stdlib.h>
  1304. $ WS "#endif
  1305. $ WS "#include <stdio.h>
  1306. $ if ("''Has_Socketshr'".eqs."T")
  1307. $ THEN
  1308. $  WS "#include <socketshr.h>"
  1309. $ else
  1310. $  WS "#include <netdb.h>
  1311. $ endif
  1312. $ WS "int main()
  1313. $ WS "{"
  1314. $ WS "setnetent(1);
  1315. $ WS "exit(0);
  1316. $ WS "}"
  1317. $ CS
  1318. $   DEFINE SYS$ERROR _NLA0:
  1319. $   DEFINE SYS$OUTPUT _NLA0:
  1320. $   on error then continue
  1321. $   on warning then continue
  1322. $   'Checkcc' temp.c
  1323. $   If (Needs_Opt.eqs."Yes")
  1324. $   THEN
  1325. $     link temp.obj,temp.opt/opt
  1326. $   else
  1327. $     link temp.obj
  1328. $   endif
  1329. $   teststatus = f$extract(9,1,$status)
  1330. $   DEASSIGN SYS$OUTPUT
  1331. $   DEASSIGN SYS$ERROR
  1332. $   if (teststatus.nes."1")
  1333. $   THEN
  1334. $     perl_d_setnent="undef"
  1335. $   ELSE
  1336. $     perl_d_setnent="define"
  1337. $   ENDIF
  1338. $ ELSE
  1339. $ perl_d_setnent="undef"
  1340. $ ENDIF
  1341. $ WRITE_RESULT "d_setnent is ''perl_d_setnent'"
  1342. $!
  1343. $! Check for setprotoent
  1344. $!
  1345. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1346. $ THEN
  1347. $ OS
  1348. $ WS "#ifdef __DECC
  1349. $ WS "#include <stdlib.h>
  1350. $ WS "#endif
  1351. $ WS "#include <stdio.h>
  1352. $ if ("''Has_Socketshr'".eqs."T")
  1353. $ THEN
  1354. $  WS "#include <socketshr.h>"
  1355. $ else
  1356. $  WS "#include <netdb.h>
  1357. $ endif
  1358. $ WS "int main()
  1359. $ WS "{"
  1360. $ WS "setprotoent(1);
  1361. $ WS "exit(0);
  1362. $ WS "}"
  1363. $ CS
  1364. $   DEFINE SYS$ERROR _NLA0:
  1365. $   DEFINE SYS$OUTPUT _NLA0:
  1366. $   on error then continue
  1367. $   on warning then continue
  1368. $   'Checkcc' temp.c
  1369. $   If (Needs_Opt.eqs."Yes")
  1370. $   THEN
  1371. $     link temp.obj,temp.opt/opt
  1372. $   else
  1373. $     link temp.obj
  1374. $   endif
  1375. $   teststatus = f$extract(9,1,$status)
  1376. $   DEASSIGN SYS$OUTPUT
  1377. $   DEASSIGN SYS$ERROR
  1378. $   if (teststatus.nes."1")
  1379. $   THEN
  1380. $     perl_d_setpent="undef"
  1381. $   ELSE
  1382. $     perl_d_setpent="define"
  1383. $   ENDIF
  1384. $ ELSE
  1385. $ perl_d_setpent="undef"
  1386. $ ENDIF
  1387. $ WRITE_RESULT "d_setpent is ''perl_d_setpent'"
  1388. $!
  1389. $! Check for setservent
  1390. $!
  1391. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1392. $ THEN
  1393. $ OS
  1394. $ WS "#ifdef __DECC
  1395. $ WS "#include <stdlib.h>
  1396. $ WS "#endif
  1397. $ WS "#include <stdio.h>
  1398. $ if ("''Has_Socketshr'".eqs."T")
  1399. $ THEN
  1400. $  WS "#include <socketshr.h>"
  1401. $ else
  1402. $  WS "#include <netdb.h>
  1403. $ endif
  1404. $ WS "int main()
  1405. $ WS "{"
  1406. $ WS "setservent(1);
  1407. $ WS "exit(0);
  1408. $ WS "}"
  1409. $ CS
  1410. $   DEFINE SYS$ERROR _NLA0:
  1411. $   DEFINE SYS$OUTPUT _NLA0:
  1412. $   on error then continue
  1413. $   on warning then continue
  1414. $   'Checkcc' temp.c
  1415. $   If (Needs_Opt.eqs."Yes")
  1416. $   THEN
  1417. $     link temp.obj,temp.opt/opt
  1418. $   else
  1419. $     link temp.obj
  1420. $   endif
  1421. $   teststatus = f$extract(9,1,$status)
  1422. $   DEASSIGN SYS$OUTPUT
  1423. $   DEASSIGN SYS$ERROR
  1424. $   if (teststatus.nes."1")
  1425. $   THEN
  1426. $     perl_d_setsent="undef"
  1427. $   ELSE
  1428. $     perl_d_setsent="define"
  1429. $   ENDIF
  1430. $ ELSE
  1431. $ perl_d_setsent="undef"
  1432. $ ENDIF
  1433. $ WRITE_RESULT "d_setsent is ''perl_d_setsent'"
  1434. $!
  1435. $! Check for gethostent
  1436. $!
  1437. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1438. $ THEN
  1439. $ OS
  1440. $ WS "#ifdef __DECC
  1441. $ WS "#include <stdlib.h>
  1442. $ WS "#endif
  1443. $ WS "#include <stdio.h>
  1444. $ if ("''Has_Socketshr'".eqs."T")
  1445. $ THEN
  1446. $  WS "#include <socketshr.h>"
  1447. $ else
  1448. $  WS "#include <netdb.h>
  1449. $ endif
  1450. $ WS "int main()
  1451. $ WS "{"
  1452. $ WS "gethostent();
  1453. $ WS "exit(0);
  1454. $ WS "}"
  1455. $ CS
  1456. $   DEFINE SYS$ERROR _NLA0:
  1457. $   DEFINE SYS$OUTPUT _NLA0:
  1458. $   on error then continue
  1459. $   on warning then continue
  1460. $   'Checkcc' temp.c
  1461. $   If (Needs_Opt.eqs."Yes")
  1462. $   THEN
  1463. $     link temp.obj,temp.opt/opt
  1464. $   else
  1465. $     link temp.obj
  1466. $   endif
  1467. $   teststatus = f$extract(9,1,$status)
  1468. $   DEASSIGN SYS$OUTPUT
  1469. $   DEASSIGN SYS$ERROR
  1470. $   if (teststatus.nes."1")
  1471. $   THEN
  1472. $     perl_d_gethent="undef"
  1473. $   ELSE
  1474. $     perl_d_gethent="define"
  1475. $   ENDIF
  1476. $ ELSE
  1477. $ perl_d_gethent="undef"
  1478. $ ENDIF
  1479. $ WRITE_RESULT "d_gethent is ''perl_d_gethent'"
  1480. $!
  1481. $! Check for getnetent
  1482. $!
  1483. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1484. $ THEN
  1485. $ OS
  1486. $ WS "#ifdef __DECC
  1487. $ WS "#include <stdlib.h>
  1488. $ WS "#endif
  1489. $ WS "#include <stdio.h>
  1490. $ if ("''Has_Socketshr'".eqs."T")
  1491. $ THEN
  1492. $  WS "#include <socketshr.h>"
  1493. $ else
  1494. $  WS "#include <netdb.h>
  1495. $ endif
  1496. $ WS "int main()
  1497. $ WS "{"
  1498. $ WS "getnetent();
  1499. $ WS "exit(0);
  1500. $ WS "}"
  1501. $ CS
  1502. $   DEFINE SYS$ERROR _NLA0:
  1503. $   DEFINE SYS$OUTPUT _NLA0:
  1504. $   on error then continue
  1505. $   on warning then continue
  1506. $   'Checkcc' temp.c
  1507. $   If (Needs_Opt.eqs."Yes")
  1508. $   THEN
  1509. $     link temp.obj,temp.opt/opt
  1510. $   else
  1511. $     link temp.obj
  1512. $   endif
  1513. $   teststatus = f$extract(9,1,$status)
  1514. $   DEASSIGN SYS$OUTPUT
  1515. $   DEASSIGN SYS$ERROR
  1516. $   if (teststatus.nes."1")
  1517. $   THEN
  1518. $     perl_d_getnent="undef"
  1519. $   ELSE
  1520. $     perl_d_getnent="define"
  1521. $   ENDIF
  1522. $ ELSE
  1523. $ perl_d_getnent="undef"
  1524. $ ENDIF
  1525. $ WRITE_RESULT "d_getnent is ''perl_d_getnent'"
  1526. $!
  1527. $! Check for getprotoent
  1528. $!
  1529. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1530. $ THEN
  1531. $ OS
  1532. $ WS "#ifdef __DECC
  1533. $ WS "#include <stdlib.h>
  1534. $ WS "#endif
  1535. $ WS "#include <stdio.h>
  1536. $ if ("''Has_Socketshr'".eqs."T")
  1537. $ THEN
  1538. $  WS "#include <socketshr.h>"
  1539. $ else
  1540. $  WS "#include <netdb.h>
  1541. $ endif
  1542. $ WS "int main()
  1543. $ WS "{"
  1544. $ WS "getprotoent();
  1545. $ WS "exit(0);
  1546. $ WS "}"
  1547. $ CS
  1548. $   DEFINE SYS$ERROR _NLA0:
  1549. $   DEFINE SYS$OUTPUT _NLA0:
  1550. $   on error then continue
  1551. $   on warning then continue
  1552. $   'Checkcc' temp.c
  1553. $   If (Needs_Opt.eqs."Yes")
  1554. $   THEN
  1555. $     link temp.obj,temp.opt/opt
  1556. $   else
  1557. $     link temp.obj
  1558. $   endif
  1559. $   teststatus = f$extract(9,1,$status)
  1560. $   DEASSIGN SYS$OUTPUT
  1561. $   DEASSIGN SYS$ERROR
  1562. $   if (teststatus.nes."1")
  1563. $   THEN
  1564. $     perl_d_getpent="undef"
  1565. $   ELSE
  1566. $     perl_d_getpent="define"
  1567. $   ENDIF
  1568. $ ELSE
  1569. $ perl_d_getpent="undef"
  1570. $ ENDIF
  1571. $ WRITE_RESULT "d_getpent is ''perl_d_getpent'"
  1572. $!
  1573. $! Check for getservent
  1574. $!
  1575. $ if ("''Has_Dec_C_Sockets'".eqs."T").or.("''Has_Socketshr'".eqs."T")
  1576. $ THEN
  1577. $ OS
  1578. $ WS "#ifdef __DECC
  1579. $ WS "#include <stdlib.h>
  1580. $ WS "#endif
  1581. $ WS "#include <stdio.h>
  1582. $ if ("''Has_Socketshr'".eqs."T")
  1583. $ THEN
  1584. $  WS "#include <socketshr.h>"
  1585. $ else
  1586. $  WS "#include <netdb.h>
  1587. $ endif
  1588. $ WS "int main()
  1589. $ WS "{"
  1590. $ WS "getservent();
  1591. $ WS "exit(0);
  1592. $ WS "}"
  1593. $ CS
  1594. $   DEFINE SYS$ERROR _NLA0:
  1595. $   DEFINE SYS$OUTPUT _NLA0:
  1596. $   on error then continue
  1597. $   on warning then continue
  1598. $   'Checkcc' temp.c
  1599. $   If (Needs_Opt.eqs."Yes")
  1600. $   THEN
  1601. $     link temp.obj,temp.opt/opt
  1602. $   else
  1603. $     link temp.obj
  1604. $   endif
  1605. $   teststatus = f$extract(9,1,$status)
  1606. $   DEASSIGN SYS$OUTPUT
  1607. $   DEASSIGN SYS$ERROR
  1608. $   if (teststatus.nes."1")
  1609. $   THEN
  1610. $     perl_d_getsent="undef"
  1611. $   ELSE
  1612. $     perl_d_getsent="define"
  1613. $   ENDIF
  1614. $ ELSE
  1615. $ perl_d_getsent="undef"
  1616. $ ENDIF
  1617. $ WRITE_RESULT "d_getsent is ''perl_d_getsent'"
  1618. $!
  1619. $! Check for pthread_yield
  1620. $!
  1621. $ if ("''use_threads'".eqs."T")
  1622. $ THEN
  1623. $ OS
  1624. $ WS "#ifdef __DECC
  1625. $ WS "#include <stdlib.h>
  1626. $ WS "#endif
  1627. $ WS "#include <pthread.h>
  1628. $ WS "#include <stdio.h>
  1629. $ WS "int main()
  1630. $ WS "{"
  1631. $ WS "pthread_yield();
  1632. $ WS "exit(0);
  1633. $ WS "}"
  1634. $ CS
  1635. $   DEFINE SYS$ERROR _NLA0:
  1636. $   DEFINE SYS$OUTPUT _NLA0:
  1637. $   on error then continue
  1638. $   on warning then continue
  1639. $   'Checkcc' temp.c
  1640. $   teststatus = f$extract(9,1,$status)
  1641. $   DEASSIGN SYS$OUTPUT
  1642. $   DEASSIGN SYS$ERROR
  1643. $   if (teststatus.nes."1")
  1644. $   THEN
  1645. $     perl_d_pthread_yield="undef"
  1646. $   ELSE
  1647. $     perl_d_pthread_yield="define"
  1648. $   ENDIF
  1649. $ ELSE
  1650. $   perl_d_pthread_yield="undef"
  1651. $ ENDIF
  1652. $ WRITE_RESULT "d_pthread_yield is ''perl_d_pthread_yield'"
  1653. $!
  1654. $! Check for sched_yield
  1655. $!
  1656. $ if ("''use_threads'".eqs."T")
  1657. $ THEN
  1658. $ OS
  1659. $ WS "#ifdef __DECC
  1660. $ WS "#include <stdlib.h>
  1661. $ WS "#endif
  1662. $ WS "#include <pthread.h>
  1663. $ WS "#include <stdio.h>
  1664. $ WS "int main()
  1665. $ WS "{"
  1666. $ WS "sched_yield();
  1667. $ WS "exit(0);
  1668. $ WS "}"
  1669. $ CS
  1670. $   DEFINE SYS$ERROR _NLA0:
  1671. $   DEFINE SYS$OUTPUT _NLA0:
  1672. $   on error then continue
  1673. $   on warning then continue
  1674. $   'Checkcc' temp.c
  1675. $   teststatus = f$extract(9,1,$status)
  1676. $   DEASSIGN SYS$OUTPUT
  1677. $   DEASSIGN SYS$ERROR
  1678. $   if (teststatus.nes."1")
  1679. $   THEN
  1680. $     perl_d_sched_yield="undef"
  1681. $   ELSE
  1682. $     perl_d_sched_yield="define"
  1683. $   ENDIF
  1684. $ ELSE
  1685. $   perl_d_sched_yield="undef"
  1686. $ ENDIF
  1687. $ WRITE_RESULT "d_sched_yield is ''perl_d_sched_yield'"
  1688. $!
  1689. $! Check for generic pointer size
  1690. $!
  1691. $ OS
  1692. $ WS "#ifdef __DECC
  1693. $ WS "#include <stdlib.h>
  1694. $ WS "#endif
  1695. $ WS "#include <stdio.h>
  1696. $ WS "int main()
  1697. $ WS "{"
  1698. $ WS "int foo;
  1699. $ WS "foo = sizeof(char *);
  1700. $ WS "printf(""%d\n"", foo);
  1701. $ WS "exit(0);
  1702. $ WS "}"
  1703. $ CS
  1704. $! copy temp.c sys$output
  1705. $!
  1706. $   DEFINE SYS$ERROR _NLA0:
  1707. $   DEFINE SYS$OUTPUT _NLA0:
  1708. $   ON ERROR THEN CONTINUE
  1709. $   ON WARNING THEN CONTINUE
  1710. $   'Checkcc' temp.c
  1711. $   If (Needs_Opt.eqs."Yes")
  1712. $   THEN
  1713. $     link temp.obj,temp.opt/opt
  1714. $   else
  1715. $     link temp.obj
  1716. $   endif
  1717. $   OPEN/WRITE TEMPOUT [-.uu]tempout.lis
  1718. $   DEASSIGN SYS$OUTPUT
  1719. $   DEASSIGN SYS$ERROR
  1720. $   DEFINE SYS$ERROR TEMPOUT
  1721. $   DEFINE SYS$OUTPUT TEMPOUT
  1722. $   mcr []temp
  1723. $   CLOSE TEMPOUT
  1724. $   DEASSIGN SYS$OUTPUT
  1725. $   DEASSIGN SYS$ERROR
  1726. $   OPEN/READ TEMPOUT [-.uu]tempout.lis
  1727. $   READ TEMPOUT line
  1728. $   CLOSE TEMPOUT
  1729. $ perl_ptrsize=line
  1730. $ WRITE_RESULT "ptrsize is ''perl_ptrsize'"
  1731. $!
  1732. $ set nover
  1733. $! Done with compiler checks. Clean up.
  1734. $ if f$search("temp.c").nes."" then DELETE/NOLOG temp.c;*
  1735. $ if f$search("temp.obj").nes."" then DELETE/NOLOG temp.obj;*
  1736. $ if f$search("temp.exe").nes."" then DELETE/NOLOG temp.exe;*
  1737. $ if f$search("temp.opt").nes."" then DELETE/NOLOG Temp.opt;*
  1738. $!
  1739. $!
  1740. $! Some that are compiler or VMS version sensitive
  1741. $!
  1742. $! Gnu C stuff
  1743. $ IF "''Using_Gnu_C'".EQS."Yes"
  1744. $ THEN
  1745. $   perl_d_attribut="define"
  1746. $   perl_vms_cc_type="gcc"
  1747. $ ELSE
  1748. $   perl_d_attribut="undef"
  1749. $ ENDIF
  1750. $
  1751. $! Dec C >= 5.2 and VMS ver >= 7.0
  1752. $ IF ("''Using_Dec_C'".EQS."Yes").AND.(F$INTEGER(Dec_C_Version).GE.50200000).AND.("''VMS_VER'".GES."7.0")
  1753. $ THEN
  1754. $ perl_d_bcmp="define"
  1755. $ perl_d_gettimeod="define"
  1756. $ perl_d_uname="define"
  1757. $ perl_d_sigaction="define"
  1758. $ perl_d_truncate="define"
  1759. $ perl_d_wait4="define"
  1760. $ perl_d_index="define"
  1761. $ perl_pidtype="pid_t"
  1762. $ perl_sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT USR1 USR2 SPARE18 SPARE19 CHLD CONT STOP TSTP TTIN TTOU DEBUG SPARE27 SPARE28 SPARE29 SPARE30 SPARE31 SPARE32 RTMIN RTMAX"",0"
  1763. $ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS"","
  1764. $ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",""USR1"",""USR2"",""SPARE18"",""SPARE19"",""CHLD"",""CONT"",""STOP"",""TSTP"","
  1765. $ psnwc3="""TTIN"",""TTOU"",""DEBUG"",""SPARE27"",""SPARE28"",""SPARE29"",""SPARE30"",""SPARE31"",""SPARE32"",""RTMIN"",""RTMAX"",0"
  1766. $perl_sig_name_with_commas = psnwc1 + psnwc2 + psnwc3
  1767. $ perl_sig_num="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,64,0"
  1768. $ perl_sig_num_with_commas=perl_sig_num
  1769. $ perl_uidtype="uid_t"
  1770. $ perl_d_pathconf="define"
  1771. $ perl_d_fpathconf="define"
  1772. $ perl_d_sysconf="define"
  1773. $ perl_d_sigsetjmp="define"
  1774. $ ELSE
  1775. $ perl_pidtype="unsigned int"
  1776. $ perl_d_gettimeod="undef"
  1777. $ perl_d_bcmp="undef"
  1778. $ perl_d_uname="undef"
  1779. $ perl_d_sigaction="undef"
  1780. $ perl_d_truncate="undef"
  1781. $ perl_d_wait4="undef"
  1782. $ perl_d_index="undef"
  1783. $ perl_sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT USR1 USR2"",0"
  1784. $ psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS"","
  1785. $ psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",""USR1"",""USR2"",0"
  1786. $ perl_sig_name_with_commas = psnwc1 + psnwc2
  1787. $ perl_sig_num="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,0"
  1788. $ perl_sig_num_with_commas=perl_sig_num
  1789. $ perl_uidtype="unsigned int"
  1790. $ perl_d_pathconf="undef"
  1791. $ perl_d_fpathconf="undef"
  1792. $ perl_d_sysconf="undef"
  1793. $ perl_d_sigsetjmp="undef"
  1794. $ ENDIF
  1795. $!
  1796. $! Dec C alone
  1797. $ IF ("''Using_Dec_C'".EQS."Yes")
  1798. $ THEN
  1799. $ perl_d_mbstowcs="define"
  1800. $ perl_d_mbtowc="define"
  1801. $ perl_d_stdiobase="define"
  1802. $ perl_d_stdio_ptr_lval="define"
  1803. $ perl_d_stdio_cnt_lval="define"
  1804. $ perl_d_stdstdio="define"
  1805. $ perl_d_wcstombs="define"
  1806. $ perl_d_mblen="define"
  1807. $ perl_d_mktime="define"
  1808. $ perl_d_strcoll="define"
  1809. $ perl_d_strxfrm="define"
  1810. $ perl_d_wctomb="define"
  1811. $ perl_i_locale="define"
  1812. $ perl_d_locconv="define"
  1813. $ perl_d_setlocale="define"
  1814. $ perl_vms_cc_type="decc"
  1815. $ ELSE
  1816. $ perl_d_mbstowcs="undef"
  1817. $ perl_d_mbtowc="undef"
  1818. $ perl_d_stdiobase="undef"
  1819. $ perl_d_stdio_ptr_lval="undef"
  1820. $ perl_d_stdio_cnt_lval="undef"
  1821. $ perl_d_stdstdio="undef"
  1822. $ perl_d_wcstombs="undef"
  1823. $ perl_d_mblen="undef"
  1824. $ perl_d_mktime="undef"
  1825. $ perl_d_strcoll="undef"
  1826. $ perl_d_strxfrm="undef"
  1827. $ perl_d_wctomb="undef"
  1828. $ perl_i_locale="undef"
  1829. $ perl_d_locconv="undef"
  1830. $ perl_d_setlocale="undef"
  1831. $ ENDIF
  1832. $!
  1833. $! Vax C stuff
  1834. $ if ("''Using_Vax_C'".EQS."Yes")
  1835. $ THEN
  1836. $ perl_vms_cc_type="vaxc"
  1837. $ ENDIF
  1838. $!
  1839. $!
  1840. $! Sockets?
  1841. $ if ("''Has_Socketshr'".EQS."T").OR.("''Has_Dec_C_Sockets'".EQS."T")
  1842. $ THEN
  1843. $ perl_d_vms_do_sockets="define"
  1844. $ perl_d_htonl="define"
  1845. $ perl_d_socket="define"
  1846. $ perl_d_select="define"
  1847. $ perl_netdb_host_type="char *"
  1848. $ perl_netdb_hlen_type="int"
  1849. $ perl_netdb_name_type="char *"
  1850. $ perl_netdb_net_type="long"
  1851. $ perl_d_gethbyaddr="define"
  1852. $ perl_d_gethbyname="define"
  1853. $ perl_d_getnbyaddr="define"
  1854. $ perl_d_getnbyname="define"
  1855. $ perl_d_getpbynumber="define"
  1856. $ perl_d_getpbyname="define"
  1857. $ perl_d_getsbyport="define"
  1858. $ perl_d_getsbyname="define"
  1859. $ perl_d_gethostprotos="define"
  1860. $ perl_d_getnetprotos="define"
  1861. $ perl_d_getprotoprotos="define"
  1862. $ perl_d_getservprotos="define"
  1863. $ ELSE
  1864. $ perl_d_vms_do_sockets="undef"
  1865. $ perl_d_htonl="undef"
  1866. $ perl_d_socket="undef"
  1867. $ perl_d_select="undef"
  1868. $ perl_netdb_host_type="char *"
  1869. $ perl_netdb_hlen_type="int"
  1870. $ perl_netdb_name_type="char *"
  1871. $ perl_netdb_net_type="long"
  1872. $ perl_d_gethbyaddr="undef"
  1873. $ perl_d_gethbyname="undef"
  1874. $ perl_d_getnbyaddr="undef"
  1875. $ perl_d_getnbyname="undef"
  1876. $ perl_d_getpbynumber="undef"
  1877. $ perl_d_getpbyname="undef"
  1878. $ perl_d_getsbyport="undef"
  1879. $ perl_d_getsbyname="undef"
  1880. $ perl_d_gethostprotos="undef"
  1881. $ perl_d_getnetprotos="undef"
  1882. $ perl_d_getprotoprotos="undef"
  1883. $ perl_d_getservprotos="undef"
  1884. $ ENDIF
  1885. $! Threads
  1886. $ if ("''use_threads'".eqs."T")
  1887. $ THEN
  1888. $   perl_usethreads="define"
  1889. $   perl_d_pthreads_created_joinable="define"
  1890. $   if ("''VMS_VER'".ges."7.0")
  1891. $   THEN
  1892. $     perl_d_oldpthreads="undef"
  1893. $   ELSE
  1894. $     perl_d_oldpthreads="define"
  1895. $   ENDIF
  1896. $ ELSE
  1897. $   perl_d_oldpthreads="undef"
  1898. $   perl_usethreads="undef"
  1899. $   
  1900. $   perl_d_pthreads_created_joinable="undef"
  1901. $ ENDIF
  1902. $! 
  1903. $! 
  1904. $! Finally the composite ones. All config
  1905. $ perl_installarchlib="''perl_prefix':[lib.''perl_arch'.''localperlver']"
  1906. $ perl_installsitearch="''perl_prefix':[lib.site_perl.''perl_arch']"
  1907. $ perl_myhostname="''myhostname'"
  1908. $ perl_mydomain="''mydomain'"
  1909. $ perl_perladmin="''perladmin'"
  1910. $ perl_cf_email="''cf_email'"
  1911. $ perl_myuname:="VMS ''myname' ''f$edit(perl_osvers, "TRIM")' ''f$edit(hwname, "TRIM")'"
  1912. $ perl_archlibexp="''perl_prefix':[lib.''perl_arch'.''localperlver']"
  1913. $ perl_archlib="''perl_prefix':[lib.''perl_arch'.''lovalperlver']"
  1914. $ perl_oldarchlibexp="''perl_prefix':[lib.''perl_arch']"
  1915. $ perl_oldarchlib="''perl_prefix':[lib.''perl_arch']"
  1916. $ perl_sitearchexp="''perl_prefix':[lib.site_perl.''perl_arch']"
  1917. $ perl_sitearch="''perl_prefix':[lib.site_perl.''perl_arch']"
  1918. $ if "''Using_Dec_C'" .eqs. "Yes"
  1919. $ THEN
  1920. $ perl_ccflags="/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=''perl_obj_ext'/NoList''cc_flags'"
  1921. $ ELSE
  1922. $   IF "''Using_Vax_C'" .eqs. "Yes"
  1923. $   THEN
  1924. $     perl_ccflags="/Include=[]/Obj=''perl_obj_ext'/NoList''cc_flags'"
  1925. $   ENDIF
  1926. $ ENDIF
  1927. $!
  1928. $! Finally clean off any leading zeros from the patchlevel or subversion
  1929. $ perl_patchlevel = perl_patchlevel + 0
  1930. $ perl_subversion = perl_subversion + 0
  1931. $!
  1932. $! Okay, we've got everything configured. Now go write out a config.sh.
  1933. $ open/write CONFIGSH [-]config.sh
  1934. $ WC := "write CONFIGSH"
  1935. $!
  1936. $ WC "# This file generated by Configure.COM on a VMS system."
  1937. $ WC "# Time: " + perl_cf_time
  1938. $ WC ""
  1939. $ WC "package='" + perl_package + "'"
  1940. $ WC "CONFIG='" + perl_config + "'"
  1941. $ WC "cf_time='" + perl_cf_time + "'"
  1942. $ WC "cf_by='" + perl_cf_by+ "'"
  1943. $ WC "cpp_stuff='" + perl_cpp_stuff + "'"
  1944. $ WC "ccdlflags='" + perl_ccdlflags + "'"
  1945. $ WC "cccdlflags='" + perl_cccdlflags + "'"
  1946. $ WC "mab='" + perl_mab + "'"
  1947. $ WC "libpth='" + perl_libpth + "'"
  1948. $ WC "ld='" + perl_ld + "'"
  1949. $ WC "lddlflags='" + perl_lddlflags + "'"
  1950. $ WC "ranlib='" + perl_ranlib + "'"
  1951. $ WC "ar='" + perl_ar + "'"
  1952. $ WC "eunicefix='" + perl_eunicefix + "'"
  1953. $ WC "hint='" + perl_hint +"'"
  1954. $ WC "hintfile='" + perl_hintfile + "'"
  1955. $ WC "shrplib='" + perl_shrplib + "'"
  1956. $ WC "usemymalloc='" + perl_usemymalloc + "'"
  1957. $ WC "usevfork='" + perl_usevfork + "'"
  1958. $ WC "useposix='false'"
  1959. $ WC "spitshell='write sys$output '"
  1960. $ WC "dlsrc='dl_vms.c'"
  1961. $ WC "binexp='" + perl_binexp + "'"
  1962. $ WC "man1ext='" + perl_man1ext + "'"
  1963. $ WC "man3ext='" + perl_man3ext + "'"
  1964. $ WC "arch='" + perl_arch + "'"
  1965. $ WC "archname='" + perl_archname + "'"
  1966. $ WC "osvers='" + perl_osvers + "'"
  1967. $ WC "prefix='" + perl_prefix + "'"
  1968. $ WC "builddir='" + perl_builddir + "'"
  1969. $ WC "installbin='" + perl_installbin + "'"
  1970. $ WC "installscript='" + perl_installscript + "'"
  1971. $ WC "installman1dir='" + perl_installman1dir + "'"
  1972. $ WC "installman3dir='" + perl_installman3dir + "'"
  1973. $ WC "installprivlib='" + perl_installprivlib + "'"
  1974. $ WC "installarchlib='" + perl_installarchlib + "'"
  1975. $ WC "installsitelib='" + perl_installsitelib + "'"
  1976. $ WC "installsitearch='" + perl_installsitearch + "'"
  1977. $ WC "path_sep='" + perl_path_sep + "'"
  1978. $ WC "vms_cc_type='" + perl_vms_cc_type + "'"
  1979. $ WC "d_attribut='" + perl_d_attribut + "'"
  1980. $ WC "cc='" + perl_cc + "'"
  1981. $ WC "ccflags='" + perl_ccflags + "'"
  1982. $ WC "d_vms_do_sockets='" + perl_d_vms_do_sockets + "'"
  1983. $ WC "d_socket='" + perl_d_socket + "'"
  1984. $ WC "d_sockpair='" + perl_d_sockpair + "'"
  1985. $ WC "d_gethent='" + perl_d_gethent + "'"
  1986. $ WC "d_getsent='" + perl_d_getsent + "'"
  1987. $ WC "d_select='" + perl_d_select + "'"
  1988. $ WC "i_niin='" + perl_i_niin + "'"
  1989. $ WC "i_neterrno='" + perl_i_neterrno + "'"
  1990. $ WC "d_stdstdio='" + perl_d_stdstdio + "'"
  1991. $ WC "d_stdio_ptr_lval='" + perl_d_stdio_ptr_lval + "'"
  1992. $ WC "d_stdio_cnt_lval='" + perl_d_stdio_cnt_lval + "'"
  1993. $ WC "d_stdiobase='" + perl_d_stdiobase + "'"
  1994. $ WC "d_locconv='" + perl_d_locconv + "'"
  1995. $ WC "d_setlocale='" + perl_d_setlocale + "'"
  1996. $ WC "i_locale='" + perl_i_locale + "'"
  1997. $ WC "d_mbstowcs='" + perl_d_mbstowcs + "'"
  1998. $ WC "d_mbtowc='" + perl_d_mbtowc + "'"
  1999. $ WC "d_wcstombs='" + perl_d_wcstombs + "'"
  2000. $ WC "d_wctomb='" + perl_d_wctomb + "'"
  2001. $ WC "d_mblen='" + perl_d_mblen + "'"
  2002. $ WC "d_mktime='" + perl_d_mktime + "'"
  2003. $ WC "d_strcoll='" + perl_d_strcoll + "'"
  2004. $ WC "d_strxfrm='" + perl_d_strxfrm  + "'"
  2005. $ WC "ldflags='" + perl_ldflags + "'"
  2006. $ WC "dlobj='" + perl_dlobj + "'"
  2007. $ WC "obj_ext='" + perl_obj_ext + "'"
  2008. $ WC "so='" + perl_so + "'"
  2009. $ WC "dlext='" + perl_dlext + "'"
  2010. $ WC "exe_ext='" + perl_exe_ext + "'"
  2011. $ WC "lib_ext='" + perl_lib_ext + "'"
  2012. $ WC "myhostname='" + perl_myhostname + "'"
  2013. $ WC "mydomain='" + perl_mydomain + "'"
  2014. $ WC "perladmin='" + perl_perladmin + "'"
  2015. $ WC "cf_email='" + perl_cf_email + "'"
  2016. $ WC "myuname='" + perl_myuname + "'"
  2017. $ WC "alignbytes='" + perl_alignbytes + "'"
  2018. $ WC "osname='" + perl_osname + "'"
  2019. $ WC "d_archlib='" + perl_d_archlib + "'"
  2020. $ WC "archlibexp='" + perl_archlibexp + "'"
  2021. $ WC "archlib='" + perl_archlib + "'"
  2022. $ WC "archname='" + perl_archname + "'"
  2023. $ WC "d_bincompat3='" + perl_d_bincompat3 + "'"
  2024. $ WC "cppstdin='" + perl_cppstdin + "'"
  2025. $ WC "cppminus='" + perl_cppminus + "'"
  2026. $ WC "d_bcmp='" + perl_d_bcmp + "'"
  2027. $ WC "d_bcopy='" + perl_d_bcopy + "'"
  2028. $ WC "d_bzero='" + perl_d_bzero + "'"
  2029. $ WC "d_castneg='" + perl_d_castneg + "'"
  2030. $ WC "castflags='" + perl_castflags + "'"
  2031. $ WC "d_chsize='" + perl_d_chsize + "'"
  2032. $ WC "d_const='" + perl_d_const + "'"
  2033. $ WC "d_crypt='" + perl_d_crypt + "'"
  2034. $ WC "byteorder='" + perl_byteorder + "'"
  2035. $ WC "full_csh='" + perl_full_csh + "'"
  2036. $ WC "d_csh='" + perl_d_csh + "'"
  2037. $ WC "d_dup2='" + perl_d_dup2 + "'"
  2038. $ WC "d_fchmod='" + perl_d_fchmod + "'"
  2039. $ WC "d_fchown='" + perl_d_fchown + "'"
  2040. $ WC "d_fcntl='" + perl_d_fcntl + "'"
  2041. $ WC "d_fgetpos='" + perl_d_fgetpos + "'"
  2042. $ WC "d_flexfnam='" + perl_d_flexfnam + "'"
  2043. $ WC "d_flock='" + perl_d_flock + "'"
  2044. $ WC "d_fsetpos='" + perl_d_fsetpos + "'"
  2045. $ WC "d_gettimeod='" + perl_d_gettimeod + "'"
  2046. $ WC "d_getgrps='" + perl_d_getgrps + "'"
  2047. $ WC "d_setgrps='" + perl_d_setgrps + "'"
  2048. $ WC "d_uname='" + perl_d_uname + "'"
  2049. $ WC "d_getprior='" + perl_d_getprior + "'"
  2050. $ WC "d_killpg='" + perl_d_killpg + "'"
  2051. $ WC "d_link='" + perl_d_link + "'"
  2052. $ WC "d_lstat='" + perl_d_lstat + "'"
  2053. $ WC "d_lockf='" + perl_d_lockf + "'"
  2054. $ WC "d_memcmp='" + perl_d_memcmp + "'"
  2055. $ WC "d_memcpy='" + perl_d_memcpy + "'"
  2056. $ WC "d_memmove='" + perl_d_memmove + "'"
  2057. $ WC "d_memset='" + perl_d_memset + "'"
  2058. $ WC "d_mkdir='" + perl_d_mkdir + "'"
  2059. $ WC "d_msg='" + perl_d_msg + "'"
  2060. $ WC "d_open3='" + perl_d_open3 + "'"
  2061. $ WC "d_poll='" + perl_d_poll + "'"
  2062. $ WC "d_readdir='" + perl_d_readdir + "'"
  2063. $ WC "d_seekdir='" + perl_d_seekdir + "'"
  2064. $ WC "d_telldir='" + perl_d_telldir + "'"
  2065. $ WC "d_rewinddir='" + perl_d_rewinddir + "'"
  2066. $ WC "d_rename='" + perl_d_rename + "'"
  2067. $ WC "d_rmdir='" + perl_d_rmdir + "'"
  2068. $ WC "d_sem='" + perl_d_sem + "'"
  2069. $ WC "d_setegid='" + perl_d_setegid + "'"
  2070. $ WC "d_seteuid='" + perl_d_seteuid + "'"
  2071. $ WC "d_setprior='" + perl_d_setprior + "'"
  2072. $ WC "d_setregid='" + perl_d_setregid + "'"
  2073. $ WC "d_setresgid='" + perl_d_setresgid + "'"
  2074. $ WC "d_setreuid='" + perl_d_setreuid + "'"
  2075. $ WC "d_setresuid='" + perl_d_setresuid + "'"
  2076. $ WC "d_setrgid='" + perl_d_setrgid + "'"
  2077. $ WC "d_setruid='" + perl_d_setruid + "'"
  2078. $ WC "d_setsid='" + perl_d_setsid + "'"
  2079. $ WC "d_shm='" + perl_d_shm + "'"
  2080. $ WC "d_shmatprototype='" + perl_d_shmatprototype + "'"
  2081. $ WC "d_sigaction='" + perl_d_sigaction + "'"
  2082. $ WC "d_statblks='" + perl_d_statblks + "'"
  2083. $ WC "stdio_ptr='" + perl_stdio_ptr + "'"
  2084. $ WC "stdio_cnt='" + perl_stdio_cnt + "'"
  2085. $ WC "stdio_base='" + perl_stdio_base + "'"
  2086. $ WC "stdio_bufsiz='" + perl_stdio_bufsiz + "'"
  2087. $ WC "d_strctcpy='" + perl_d_strctcpy + "'"
  2088. $ WC "d_strerror='" + perl_d_strerror + "'"
  2089. $ WC "d_syserrlst='" + perl_d_syserrlst + "'"
  2090. $ WC "d_strerrm='" + perl_d_strerrm + "'"
  2091. $ WC "d_symlink='" + perl_d_symlink + "'"
  2092. $ WC "d_syscall='" + perl_d_syscall + "'"
  2093. $ WC "d_system='" + perl_d_system + "'"
  2094. $ WC "timetype='" + perl_timetype + "'"
  2095. $ WC "d_truncate='" + perl_d_truncate + "'"
  2096. $ WC "d_vfork='" + perl_d_vfork + "'"
  2097. $ WC "signal_t='" + perl_signal_t + "'"
  2098. $ WC "d_volatile='" + perl_d_volatile + "'"
  2099. $ WC "d_vprintf='" + perl_d_vprintf + "'"
  2100. $ WC "d_charvspr='" + perl_d_charvspr + "'"
  2101. $ WC "d_wait4='" + perl_d_wait4 + "'"
  2102. $ WC "d_waitpid='" + perl_d_waitpid + "'"
  2103. $ WC "i_dirent='" + perl_i_dirent + "'"
  2104. $ WC "d_dirnamlen='" + perl_d_dirnamlen + "'"
  2105. $ WC "direntrytype='" + perl_direntrytype + "'"
  2106. $ WC "i_fcntl='" + perl_i_fcntl + "'"
  2107. $ WC "i_grp='" + perl_i_grp + "'"
  2108. $ WC "i_limits='" + perl_i_limits + "'"
  2109. $ WC "i_memory='" + perl_i_memory + "'"
  2110. $ WC "i_ndbm='" + perl_i_ndbm + "'"
  2111. $ WC "i_stdarg='" + perl_i_stdarg + "'"
  2112. $ WC "i_pwd='" + perl_i_pwd + "'"
  2113. $ WC "d_pwquota='" + perl_d_pwquota + "'"
  2114. $ WC "d_pwage='" + perl_d_pwage + "'"
  2115. $ WC "d_pwchange='" + perl_d_pwchange + "'"
  2116. $ WC "d_pwclass='" + perl_d_pwclass + "'"
  2117. $ WC "d_pwexpire='" + perl_d_pwexpire + "'"
  2118. $ WC "d_pwcomment='" + perl_d_pwcomment + "'"
  2119. $ WC "i_stddef='" + perl_i_stddef + "'"
  2120. $ WC "i_stdlib='" + perl_i_stdlib + "'"
  2121. $ WC "i_string='" + perl_i_string + "'"
  2122. $ WC "i_sysdir='" + perl_i_sysdir + "'"
  2123. $ WC "i_sysfile='" + perl_i_sysfile + "'"
  2124. $ WC "i_sysioctl='" + perl_i_sysioctl + "'"
  2125. $ WC "i_sysndir='" + perl_i_sysndir + "'"
  2126. $ WC "i_sysresrc='" + perl_i_sysresrc + "'"
  2127. $ WC "i_sysselct='" + perl_i_sysselct + "'"
  2128. $ WC "i_dbm='" + perl_i_dbm + "'"
  2129. $ WC "i_rpcsvcdbm='" + perl_i_rpcsvcdbm + "'"
  2130. $ WC "i_sfio='" + perl_i_sfio + "'"
  2131. $ WC "i_sysstat='" + perl_i_sysstat + "'"
  2132. $ WC "i_systimes='" + perl_i_systimes + "'"
  2133. $ WC "i_systypes='" + perl_i_systypes + "'"
  2134. $ WC "i_sysun='" + perl_i_sysun + "'"
  2135. $ WC "i_syswait='" + perl_i_syswait + "'"
  2136. $ WC "i_termio='" + perl_i_termio + "'"
  2137. $ WC "i_sgtty='" + perl_i_sgtty + "'"
  2138. $ WC "i_termios='" + perl_i_termios + "'"
  2139. $ WC "i_time='" + perl_i_time + "'"
  2140. $ WC "i_systime='" + perl_i_systime + "'"
  2141. $ WC "i_systimek='" + perl_i_systimek + "'"
  2142. $ WC "i_unistd='" + perl_i_unistd + "'"
  2143. $ WC "i_utime='" + perl_i_utime + "'"
  2144. $ WC "i_varargs='" + perl_i_varargs + "'"
  2145. $ WC "i_vfork='" + perl_i_vfork + "'"
  2146. $ WC "prototype='" + perl_prototype + "'"
  2147. $ WC "randbits='" + perl_randbits +"'"
  2148. $ WC "selecttype='" + perl_selecttype + "'"
  2149. $ WC "stdchar='" + perl_stdchar + "'"
  2150. $ WC "d_unlink_all_versions='" + perl_d_unlink_all_versions + "'"
  2151. $ WC "full_sed='" + perl_full_sed + "'"
  2152. $ WC "bin='" + perl_bin + "'"
  2153. $ WC "binexp='" + perl_binexp + "'"
  2154. $ WC "d_alarm='" + perl_d_alarm + "'"
  2155. $ WC "d_casti32='" + perl_d_casti32 + "'"
  2156. $ WC "d_chown='" + perl_d_chown + "'"
  2157. $ WC "d_chroot='" + perl_d_chroot + "'"
  2158. $ WC "d_cuserid='" + perl_d_cuserid + "'"
  2159. $ WC "d_dbl_dig='" + perl_d_dbl_dig + "'"
  2160. $ WC "d_difftime='" + perl_d_difftime + "'"
  2161. $ WC "d_fork='" + perl_d_fork + "'"
  2162. $ WC "d_getlogin='" + perl_d_getlogin + "'"
  2163. $ WC "d_getppid='" + perl_d_getppid + "'"
  2164. $ WC "d_htonl='" + perl_d_htonl + "'"
  2165. $ WC "d_nice='" + perl_d_nice + "'"
  2166. $ WC "d_pause='" + perl_d_pause + "'"
  2167. $ WC "d_pipe='" + perl_d_pipe + "'"
  2168. $ WC "d_readlink='" + perl_d_readlink + "'"
  2169. $ WC "d_setlinebuf='" + perl_d_setlinebuf + "'"
  2170. $ WC "d_strchr='" + perl_d_strchr + "'"
  2171. $ WC "d_index='" + perl_d_index + "'"
  2172. $ WC "d_strtod='" + perl_d_strtod + "'"
  2173. $ WC "d_strtol='" + perl_d_strtol + "'"
  2174. $ WC "d_strtoul='" + perl_d_strtoul + "'"
  2175. $ WC "d_tcgetpgrp='" + perl_d_tcgetpgrp + "'"
  2176. $ WC "d_tcsetpgrp='" + perl_d_tcsetpgrp + "'"
  2177. $ WC "d_times='" + perl_d_times + "'"
  2178. $ WC "d_tzname='" + perl_d_tzname + "'"
  2179. $ WC "d_umask='" + perl_d_umask + "'"
  2180. $ WC "fpostype='" + perl_fpostype + "'"
  2181. $ WC "i_dlfcn='" + perl_i_dlfcn + "'"
  2182. $ WC "i_float='" + perl_i_float + "'"
  2183. $ WC "i_math='" + perl_i_math + "'"
  2184. $ WC "intsize='" + perl_intsize + "'"
  2185. $ WC "longsize='" + perl_longsize + "'"
  2186. $ WC "shortsize='" + perl_shortsize + "'"
  2187. $ WC "lseektype='" + perl_lseektype + "'"
  2188. $ WC "i_values='" + perl_i_values + "'"
  2189. $ WC "malloctype='" + perl_malloctype + "'"
  2190. $ WC "freetype='" + perl_freetype + "'"
  2191. $ WC "d_mymalloc='" + perl_d_mymalloc + "'"
  2192. $ WC "sh='" + perl_sh + "'"
  2193. $ WC "sig_name='" + perl_sig_name + "'"
  2194. $ WC "sig_num='" + perl_sig_num + "'"
  2195. $ tempsym = "sig_name_init='" + perl_sig_name_with_commas + "'"
  2196. $ WC/symbol tempsym
  2197. $ WC "modetype='" + perl_modetype + "'"
  2198. $ WC "ssizetype='" + perl_ssizetype + "'"
  2199. $ WC "o_nonblock='" + perl_o_nonblock + "'"
  2200. $ WC "eagain='" + perl_eagain + "'"
  2201. $ WC "rd_nodata='" + perl_rd_nodata + "'"
  2202. $ WC "d_eofnblk='" + perl_d_eofnblk + "'"
  2203. $ WC "d_oldarchlib='" + perl_d_oldarchlib + "'"
  2204. $ WC "oldarchlibexp='" + perl_oldarchlibexp + "'"
  2205. $ WC "oldarchlib='" + perl_oldarchlib + "'"
  2206. $ WC "privlibexp='" + perl_privlibexp + "'"
  2207. $ WC "privlib='" + perl_privlib + "'"
  2208. $ WC "sitelibexp='" + perl_sitelibexp + "'"
  2209. $ WC "sitelib='" + perl_sitelib + "'"
  2210. $ WC "sitearchexp='" + perl_sitearchexp + "'"
  2211. $ WC "sitearch='" + perl_sitearch + "'"
  2212. $ WC "sizetype='" + perl_sizetype + "'"
  2213. $ WC "i_sysparam='" + perl_i_sysparam + "'"
  2214. $ WC "d_void_closedir='" + perl_d_void_closedir + "'"
  2215. $ WC "d_dlerror='" + perl_d_dlerror + "'"
  2216. $ WC "d_dlsymun='" + perl_d_dlsymun + "'"
  2217. $ WC "d_suidsafe='" + perl_d_suidsafe + "'"
  2218. $ WC "d_dosuid='" + perl_d_dosuid + "'"
  2219. $ WC "d_inetaton='" + perl_d_inetaton + "'"
  2220. $ WC "d_isascii='" + perl_d_isascii + "'"
  2221. $ WC "d_mkfifo='" + perl_d_mkfifo + "'"
  2222. $ WC "d_pathconf='" + perl_d_pathconf + "'"
  2223. $ WC "d_fpathconf='" + perl_d_fpathconf + "'"
  2224. $ WC "d_safebcpy='" + perl_d_safebcpy + "'"
  2225. $ WC "d_safemcpy='" + perl_d_safemcpy + "'"
  2226. $ WC "d_sanemcmp='" + perl_d_sanemcmp + "'"
  2227. $ WC "d_setpgrp='" + perl_d_setpgrp + "'"
  2228. $ WC "d_bsdsetpgrp='" + perl_d_bsdsetpgrp + "'"
  2229. $ WC "d_bsdpgrp='" + perl_d_bsdpgrp + "'"
  2230. $ WC "d_setpgid='" + perl_d_setpgid + "'"
  2231. $ WC "d_setpgrp2='" + perl_d_setpgrp2 + "'"
  2232. $ WC "d_sysconf='" + perl_d_sysconf + "'"
  2233. $ WC "d_Gconvert='" + perl_d_Gconvert + "'"
  2234. $ WC "d_getpgid='" + perl_d_getpgid + "'"
  2235. $ WC "d_getpgrp='" + perl_d_getpgrp + "'"
  2236. $ WC "d_bsdgetpgrp='" + perl_d_bsdgetpgrp + "'"
  2237. $ WC "d_getpgrp2='" + perl_d_getpgrp2 + "'"
  2238. $ WC "d_sfio='" + perl_d_sfio + "'"
  2239. $ WC "d_sigsetjmp='" + perl_d_sigsetjmp + "'"
  2240. $ WC "usedl='" + perl_usedl + "'"
  2241. $ WC "startperl=" + perl_startperl ! This one's special--no enclosing single quotes
  2242. $ WC "db_hashtype='" + perl_db_hashtype + "'"
  2243. $ WC "db_prefixtype='" + perl_db_prefixtype + "'"
  2244. $ WC "useperlio='" + perl_useperlio + "'"
  2245. $ WC "defvoidused='" + perl_defvoidused + "'"
  2246. $ WC "voidflags='" + perl_voidflags + "'"
  2247. $ WC "d_eunice='" + perl_d_eunice + "'"
  2248. $ WC "libs='" + perl_libs + "'"
  2249. $ WC "libc='" + perl_libc + "'"
  2250. $ tempstring = "PATCHLEVEL='" + "''perl_patchlevel'" + "'"
  2251. $ WC tempstring
  2252. $ tempstring = "SUBVERSION='" + "''perl_SUBVERSION'" + "'"
  2253. $ WC tempstring
  2254. $ WC "pager='" + perl_pager + "'"
  2255. $ WC "uidtype='" + perl_uidtype + "'"
  2256. $ WC "gidtype='" + perl_gidtype + "'"
  2257. $ WC "usethreads='" + perl_usethreads + "'"
  2258. $ WC "d_pthread_yield='" + perl_d_pthread_yield + "'"
  2259. $ WC "d_pthreads_created_joinable='" + perl_d_pthreads_created_joinable + "'"
  2260. $ WC "d_gnulibc='" + perl_d_gnulibc + "'"
  2261. $ WC "i_netdb='" + perl_i_netdb + "'"
  2262. $ WC "pidtype='" + perl_pidtype + "'"
  2263. $ WC "netdb_host_type='" + perl_netdb_host_type + "'"
  2264. $ WC "netdb_hlen_type='" + perl_netdb_hlen_type + "'"
  2265. $ WC "netdb_name_type='" + perl_netdb_name_type + "'"
  2266. $ WC "netdb_net_type='" + perl_netdb_net_type + "'"
  2267. $ WC "baserev='" + perl_baserev + "'"
  2268. $ WC "doublesize='" + perl_doublesize + "'"
  2269. $ WC "ptrsize='" + perl_ptrsize + "'"
  2270. $ WC "d_gethbyaddr='" + perl_d_gethbyaddr + "'"
  2271. $ WC "d_gethbyname='" + perl_d_gethbyname + "'"
  2272. $ WC "d_getnbyaddr='" + perl_d_getnbyaddr + "'"
  2273. $ WC "d_getnbyname='" + perl_d_getnbyname + "'"
  2274. $ WC "d_getpbynumber='" + perl_d_getpbynumber + "'"
  2275. $ WC "d_getpbyname='" + perl_d_getpbyname + "'"
  2276. $ WC "d_getsbyport='" + perl_d_getsbyport + "'"
  2277. $ WC "d_getsbyname='" + perl_d_getsbyname + "'"
  2278. $ WC "d_sethent='" + perl_d_sethent + "'"
  2279. $ WC "d_oldpthreads='" + perl_d_oldpthreads + "'"
  2280. $ WC "d_longdbl='" + perl_d_longdbl + "'"
  2281. $ WC "longdblsize='" + perl_longdblsize + "'"
  2282. $ WC "d_longlong='" + perl_d_longlong + "'"
  2283. $ WC "longlongsize='" + perl_longlongsize + "'"
  2284. $ WC "d_mkstemp='" + perl_d_mkstemp + "'"
  2285. $ WC "d_setvbuf='" + perl_d_setvbuf + "'"
  2286. $ WC "d_endhent='" + perl_d_endhent + "'"
  2287. $ WC "d_endnent='" + perl_d_endsent + "'"
  2288. $ WC "d_endpent='" + perl_d_endpent + "'"
  2289. $ WC "d_endsent='" + perl_d_endsent + "'"
  2290. $ WC "d_gethent='" + perl_d_gethent + "'"
  2291. $ WC "d_getnent='" + perl_d_getsent + "'"
  2292. $ WC "d_getpent='" + perl_d_getpent + "'"
  2293. $ WC "d_getsent='" + perl_d_getsent + "'"
  2294. $ WC "d_sethent='" + perl_d_sethent + "'"
  2295. $ WC "d_setnent='" + perl_d_setsent + "'"
  2296. $ WC "d_setpent='" + perl_d_setpent + "'"
  2297. $ WC "ebcdic='" + perl_ebcdic + "'"
  2298. $ WC "d_setsent='" + perl_d_setsent + "'"
  2299. $ WC "d_gethostprotos='" + perl_d_gethostprotos + "'"
  2300. $ WC "d_getnetprotos='" + perl_d_getnetprotos + "'"
  2301. $ WC "d_getprotoprotos='" + perl_d_getprotoprotos + "'"
  2302. $ WC "d_getservprotos='" + perl_d_getservprotos + "'"
  2303. $ WC "d_pwgecos='" + perl_d_pwgecos + "'"
  2304. $ WC "d_sched_yield='" + perl_d_sched_yield + "'"
  2305. $ WC "d_lchown='" + perl_d_lchown + "'"
  2306. $ WC "d_union_semun='" + perl_d_union_semun + "'"
  2307. $ WC "i_arpainet='" + perl_i_arpainet + "'"
  2308. $ WC "d_grpasswd='" + perl_d_grpasswd + "'"
  2309. $ WC "d_setgrent='" + perl_d_setgrent + "'"
  2310. $ WC "d_getgrent='" + perl_d_getgrent + "'"
  2311. $ WC "d_endgrent='" + perl_d_endgrent + "'"
  2312. $ WC "d_pwpasswd='" + perl_d_pwpasswd + "'"
  2313. $ WC "d_setpwent='" + perl_d_setpwent + "'"
  2314. $ WC "d_getpwent='" + perl_d_getpwent + "'"
  2315. $ WC "d_endpwent='" + perl_d_endpwent + "'"
  2316. $ WC "d_semctl_semun='" + perl_d_semctl_semun + "'"
  2317. $ WC "d_semctl_semid_ds='" + perl_d_semctl_semid_ds + "'"
  2318. $ WC "extensions='" + perl_extensions + "'"
  2319. $ WC "d_mknod='" + perl_d_mknod + "'"
  2320. $ WC "devtype='" + perl_devtype + "'"
  2321. $!
  2322. $! ##WRITE NEW CONSTANTS HERE##
  2323. $!
  2324. $ Close CONFIGSH
  2325. $
  2326. $! Okay, we've gotten here. Build munchconfig and run it
  2327. $ 'Perl_CC' munchconfig.c
  2328. $ If (Needs_Opt.eqs."Yes")
  2329. $ THEN
  2330. $   open/write OPTCHAN []munchconfig.opt
  2331. $   IF ("''using_gnu_c'".eqs."Yes")
  2332. $   THEN
  2333. $     write OPTCHAN "Gnu_CC:[000000]gcclib.olb/library"
  2334. $   endif
  2335. $   write OPTCHAN "Sys$Share:VAXCRTL/Share"
  2336. $   Close OPTCHAN
  2337. $   link munchconfig.obj,munchconfig.opt/opt
  2338. $   delete munchconfig.opt;*
  2339. $ else
  2340. $   link munchconfig.obj
  2341. $ endif
  2342. $ WRITE_RESULT "Writing config.h"
  2343. $ !
  2344. $ ! we need an fdl file
  2345. $ CREATE [-]CONFIG.FDL
  2346. RECORD
  2347.   FORMAT STREAM_LF
  2348. $ CREATE /FDL=[-]CONFIG.FDL [-]CONFIG.LOCAL
  2349. $ ! First spit out the header info with the local defines (to get
  2350. $ ! around the 255 character command line limit)
  2351. $ OPEN/APPEND CONFIG [-]config.local
  2352. $ if use_debugging_perl.eqs."Y"
  2353. $ THEN
  2354. $   WRITE CONFIG "#define DEBUGGING"
  2355. $ ENDIF
  2356. $ if preload_env.eqs."Y"
  2357. $ THEN
  2358. $    WRITE CONFIG "#define PRIME_ENV_AT_STARTUP"
  2359. $ ENDIF
  2360. $ if use_two_pot_malloc.eqs."Y"
  2361. $ THEN
  2362. $    WRITE CONFIG "#define TWO_POT_OPTIMIZE"
  2363. $ endif
  2364. $ if mymalloc.eqs."Y"
  2365. $ THEN
  2366. $    WRITE CONFIG "#define EMBEDMYMALLOC"
  2367. $ ENDIF
  2368. $ if use_pack_malloc.eqs."Y"
  2369. $ THEN
  2370. $    WRITE CONFIG "#define PACK_MALLOC"
  2371. $ endif
  2372. $ if use_debugmalloc.eqs."Y"
  2373. $ THEN
  2374. $    write config "#define DEBUGGING_MSTATS"
  2375. $ ENDIF
  2376. $ if "''Using_Gnu_C'" .eqs."Yes"
  2377. $ THEN
  2378. $   WRITE CONFIG "#define GNUC_ATTRIBUTE_CHECK"
  2379. $ ENDIF
  2380. $ if "''Has_Dec_C_Sockets'".eqs."T"
  2381. $ THEN
  2382. $    WRITE CONFIG "#define VMS_DO_SOCKETS"
  2383. $    WRITE CONFIG "#define DECCRTL_SOCKETS"
  2384. $ ENDIF
  2385. $ if "''Has_Socketshr'".eqs."T"
  2386. $ THEN
  2387. $    WRITE CONFIG "#define VMS_DO_SOCKETS"
  2388. $ ENDIF
  2389. $ CLOSE CONFIG
  2390. $!
  2391. $! Now build the normal config.h
  2392. $ define/user sys$output [-]config.main
  2393. $ mcr []munchconfig [-]config.sh [-]config_h.sh
  2394. $ ! Concatenate them together
  2395. $ copy [-]config.local,[-]config.main [-]config.h
  2396. $! Clean up
  2397. $ DELETE/NOLOG [-]CONFIG.MAIN;*
  2398. $ DELETE/NOLOG [-]CONFIG.LOCAL;*
  2399. $ DELETE/NOLOG [-]CONFIG.FDL;*
  2400. $!
  2401. $ if "''Using_Dec_C'" .eqs."Yes"
  2402. $ THEN
  2403. $ DECC_REPLACE = "DECC=decc=1"
  2404. $ ELSE
  2405. $ DECC_REPLACE = "DECC=" 
  2406. $ ENDIF
  2407. $ if "''Using_Gnu_C'" .eqs."Yes"
  2408. $ THEN
  2409. $ GNUC_REPLACE = "GNUC=gnuc=1"
  2410. $ ELSE
  2411. $ GNUC_REPLACE = "GNUC=" 
  2412. $ ENDIF
  2413. $ if "''Has_Dec_C_Sockets'" .eqs."T"
  2414. $ THEN
  2415. $   SOCKET_REPLACE = "SOCKET=DECC_SOCKETS=1"
  2416. $ ELSE
  2417. $   if "''Has_Socketshr'" .eqs."T"
  2418. $   THEN
  2419. $     SOCKET_REPLACE = "SOCKET=SOCKETSHRSOCKETS=1"
  2420. $   ELSE
  2421. $     SOCKET_REPLACE = "SOCKET="
  2422. $   ENDIF
  2423. $ ENDIF
  2424. $ IF ("''Use_Threads'".eqs."T")
  2425. $ THEN
  2426. $   if ("''VMS_VER'".LES."6.2")
  2427. $   THEN
  2428. $     THREAD_REPLACE = "THREAD=OLDTHREADED=1"
  2429. $   ELSE
  2430. $     THREAD_REPLACE = "THREAD=THREADED=1"
  2431. $   ENDIF
  2432. $ ELSE
  2433. $   THREAD_REPLACE = "THREAD="
  2434. $ ENDIF
  2435. $ if mymalloc.eqs."Y"
  2436. $ THEN
  2437. $   MALLOC_REPLACE = "MALLOC=MALLOC=1"
  2438. $ ELSE
  2439. $   MALLOC_REPLACE = "MALLOC="
  2440. $ ENDIF
  2441. $ if f$getsyi("HW_MODEL").ge.1024
  2442. $ THEN
  2443. $ ARCH_TYPE = "ARCH-TYPE=__AXP__"
  2444. $ ELSE
  2445. $ ARCH_TYPE = "ARCH-TYPE=__VAX__"
  2446. $ ENDIF
  2447. $ WRITE_RESULT "Writing DESCRIP.MMS"
  2448. $!set ver
  2449. $ define/user sys$output [-]descrip.mms
  2450. $ mcr []munchconfig [-]config.sh descrip_mms.template "''DECC_REPLACE'" "''ARCH_TYPE'" "''GNUC_REPLACE'" "''SOCKET_REPLACE'" "''THREAD_REPLACE'" "''C_Compiler_Replace'" "''MALLOC_REPLACE'" "''Thread_Live_Dangerously'"
  2451. $! set nover
  2452. $!
  2453. $! Clean up after ourselves
  2454. $ delete/nolog munchconfig.exe;*
  2455. $ delete/nolog munchconfig.obj;*
  2456.